Java使用File类遍历目录及文件实例代码

 更新时间:2017年04月17日 16:00:49   作者:Joah  
本篇文章主要介绍了Java使用File类遍历目录及文件实例代码,详细的介绍了File类的使用,有兴趣的可以了解一下。

1. 构造函数

File(String args0)//使用一个表示文件或目录的路径的字符串创建一个File对象
File(URL args0)//使用一个URL对象创建File对象
File(File args0, String args1)//使用一个File对象(一般是目录)和一个文件名字符串创建File对象
File(String args0, String args1)//使用一个目录字符串和一个文件名字符串创建对象

使用File类需要注意两点:

第一,File类用于表示文件或目录的名称、大小等信息,不能用于文件内容的访问。

第二,传参时路径中的斜杠需换成反斜杠或双斜杠。

2. 常用方法

exists()//判断当前文件或目录是否存在

mkdir()//创建单级目录,不能创建多级目录
mkdirs()//创建多级目录
createNewFile()//按照当前路径创建文件,使用该方法需要抛出异常,同时路径不存在时会产生异常

delete()//删除当前目录或文件

isDirectory()//判断当前File对象是否目录
isFile()//判断当前File对象是否一个文件

getAbsolutePath()//返回当前目录或文件的绝对路径
getName()//返回当前目录或文件的名称
getParent()//返回当前目录或文件的父级路径

list()//返回一个String数组,为当前目录下的子目录和文件,不包括子目录下的文件或目录
listFiles()//返回一个File数组,为当前目录下的子目录和文件,不包括子目录下的文件或目录

3. 范例

遍历目录,将所有层级的所有目录打印。

import java.io.File;
import java.io.IOException;

public class FileTest {

  public static void main(String[] args) {
    File dir = new File("F:/documents/example");
    listDirectory(dir);
  }
  
  public static void listDirectory(File dir) {
    if (!dir.exists()) {
      throw new IllegalArgumentException("目录" + dir + "不存在");
    }
    if (!dir.isDirectory()) {
      throw new IllegalArgumentException(dir + "不是目录");
    }
    File[] files = dir.listFiles();
    if (files != null && files.length > 0) {
      for (File file : files) {
        if (file.isDirectory()) {
          listDirectory(file);
        } else {
          System.out.println(file);
        }
      }
    }
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java 通过 SmbFile 类操作共享文件夹的示例

    java 通过 SmbFile 类操作共享文件夹的示例

    这篇文章主要介绍了java 通过 SmbFile 类操作共享文件夹,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • java中构造方法及this关键字的用法实例详解(超详细)

    java中构造方法及this关键字的用法实例详解(超详细)

    大家都知道,java作为一门内容丰富的编程语言,其中涉及的范围是十分广阔的,下面这篇文章主要给大家介绍了关于java中构造方法及this关键字用法的相关资料,需要的朋友可以参考下
    2022-04-04
  • Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?今天小编通过本教程给大家介绍下
    2016-12-12
  • Springmvc项目web.xml中servlet-mapping路径映射配置注意说明

    Springmvc项目web.xml中servlet-mapping路径映射配置注意说明

    这篇文章主要介绍了Springmvc项目web.xml中servlet-mapping路径映射配置注意说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • druid ParserException类错误问题及解决

    druid ParserException类错误问题及解决

    这篇文章主要介绍了druid ParserException类错误问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 深入理解Java设计模式之单例模式

    深入理解Java设计模式之单例模式

    这篇文章主要介绍了JAVA设计模式之单例模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2021-11-11
  • 深入理解Java中的volatile关键字(总结篇)

    深入理解Java中的volatile关键字(总结篇)

    volatile这个关键字,不仅仅在Java语言中有,在很多语言中都有的,而且其用法和语义也都是不尽相同的。这篇文章主要介绍了Java中的volatile关键字,需要的朋友可以参考下
    2018-10-10
  • 详解Java单例模式的实现与原理剖析

    详解Java单例模式的实现与原理剖析

    单例模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。本文将详解单例模式的实现及原理剖析,需要的可以参考一下
    2022-05-05
  • Java中将bean放入Spring容器中的几种方式详解

    Java中将bean放入Spring容器中的几种方式详解

    这篇文章主要介绍了Java中将bean放入Spring容器中的几种方式详解,在Spring框架中,有多种方式可以将Bean(即对象)放入Spring容器中,今天我们就来详细说一下这几种方式,需要的朋友可以参考下
    2023-07-07
  • Java基于elasticsearch实现集群管理

    Java基于elasticsearch实现集群管理

    这篇文章主要介绍了java基于elasticsearch实现集群管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02

最新评论