File、FileFilter
File 类
java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
构造方法
public File(String pathname):将给定的路径名字符串转换为抽象路径名来创建 File实例。public File(String parent, String child):parent + child = pathnamepublic File(File parent, String child):从父抽象路径名和子路径名字符串创建 File实例。
获取功能的方法
public String getAbsolutePath():返回此File的绝对路径名字符串。public String getPath():将此File转换为路径名字符串。public String getName():返回由此File表示的文件或目录的名称。public long length():返回由此File表示的文件的长度。 但是File对象表示目录,则返回值未指定。
判断功能的方法
public boolean exists():此File表示的文件或目录是否实际存在。public boolean isDirectory():此File表示的是否为目录。public boolean isFile():此File表示的是否为文件。
创建删除功能的方法
public boolean createNewFile():当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。public boolean delete():删除由此File表示的文件或目录。public boolean mkdir():创建由此File表示的目录。public boolean mkdirs():创建由此File表示的目录,包括任何必需但不存在的父目录。
目录遍历
public String[] list():返回一个String数组,表示该File目录中的所有子文件或目录。public File[] listFiles():返回一个File数组,表示该File目录中的所有的子文件或目录。
例子: 递归遍历目录
1 | private static void tree(File dir) { |
文件过滤器
java.io.FileFilter函数式接口,是File的过滤器。
该接口中的方法:boolean accept(File pathname)
该接口的对象可以传递给File类的listFiles 方法。
listFiles(FileFilter)方法- 对目录进行遍历,获取目录中的每一文件/文件夹,并将它们封装成File对象
- 调用形参FileFilter对象中的accept方法, 并传入遍历得到的每一个File对象
- accept方法返回true,则将该File对象放入File[]数组中。
例子: 找出指定目录下的所有.java文件
1 | private static void findJavaFile(File dir) { |

