package string.itcastio;
import java.io.File;
import java.io.FilenameFilter;
/*
* String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
* String[] list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
* File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
* File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
* 一般用listFiles的场景比较多
*/
public class FileDemo2 {
public static void main(String[] args) {
listDemo_2();
}
public static void listDemo_2() {
File file = new File("F:\\");
// FilenameFilter主要用于文件过滤
File[] files = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// 获取F盘下所有以.rar结尾的文件
return name.endsWith(".rar");
}
});
for (File f : files) {
sop("name:" + f.getName() + "-----length:" + f.length());
}
}
public static void listDemo_1() {
// 需要查询的文件盘目录
File file = new File("F:\\");
// 获取盘符下的所有文件
File[] files = file.listFiles();
for (File f : files) {
sop("name:" + f.getName() + "-----length:" + f.length());
}
}
public static void sop(Object obj) {
System.out.println(obj);
}
}