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));


    }
}