File size: 2,467 Bytes
0284885 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | package File_package;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
public class File_demo7 {
public static void main(String[] args) {
/*
public static File[] listRoots() 列出可用的文件系统根
public String[] list() 获取当前该路径下所有的内容
public String[] list(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles() 获取当前该路径下所有内容(掌握)
public File[] listFiles(FileFilter filter) 利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容
*/
//1、listRoots() 获取系统中所有的盘符
File[] arr = File.listRoots();
System.out.println(Arrays.toString(arr));
System.out.println("------------------------");
//2、list() 获取当前该路径下所有的内容
File f1 = new File("/Users/zhaoxiaoyong/Documents/Java/File_project/File_module/src/File_package");
String[] arr2 = f1.list();
for (String s : arr2) {
System.out.println(s);
}
System.out.println("------------------------");
//3、list(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容
//需求:我现在要获取File_package文件夹里面所有的demo文件
File f2 = new File("/Users/zhaoxiaoyong/Documents/Java/File_project/File_module/src/File_package");
//accept方法的形参,依次表示File_package文件夹里面每一个文件或者文件夹的路径
//参数一:父级路径
//参数二:子级路径
//返回值:如果返回值为true,就表示当前路径保留
// 如果返回值为false,就表示当前路径舍弃不要
String[] arr3 = f2.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File src = new File(dir, name);
if (src.isFile() && name.startsWith("File_")){
return false;
}
return true;
}
});
System.out.println(Arrays.toString(arr3));
}
}
|