File :文件和目录路径名的抽象表示
构造方法:
- File(String pathname) ----> 通过将给定的路径名字符串转换为抽象路径名来创建新的FIle实例
File file = new File("E:\\");
- File(File parent,String child) ---->从父抽象路径名和子路径名字符串创建新的File实例
File file = new File(new File("E:\\"),"eclipse");
- 三、FIle(String parent,String child) ---->从父路径名字符串和子路径名字符串创建新的实例
File f = new File("E:\\","");
文件过滤器
- 可以新建一个类,实现FileFilter,在然后调用listFiles方法时传入参数new MyFilter即可
public class MyFilter implements FileFilter{
@Override
public boolean accept(File file) {
return file.getName().endsWith(".exe");
}
}
//创建这个类的目的在于把accept方法提供给listFiles()使用,使其可以回调accept
public class file {
public static void main(String[] args) throws IOException {
File f = new File("E:\\","");
File[] fileArr = f.listFiles(new MyFilter());
for(File file : fileArr) {
System.out.println(file);
}
}
//调用一次listFiles()时,返回一个文件路径名,接着就会回调accept,检测是否符合,符合返回true否则false
- 使用Lambda函数,形参为file或者dir和name。
- file为接口FileFilter的形参
- dir 和 name 为接口FilenameFilter的形参
-
public class file { public static void main(String[] args) throws IOException { File f = new File("E:\\",""); File[] fileArr = f.listFiles(file -> file.getName().toString().endsWith(".exe")); // File[] fileArr = f.listFiles((dir,name) -> name.endsWith(".exe")); for(File file : fileArr) { System.out.println(file); } } }