黑马程序员技术交流社区

标题: 这里的accept()方法为什么不需要实例化,或者用构造函数调用? [打印本页]

作者: MoonsenHung    时间: 2015-8-19 17:59
标题: 这里的accept()方法为什么不需要实例化,或者用构造函数调用?
获取指定目录下指定后缀的文件名称:
* A:先获取指定目录下所有文件或者文件夹的File数组,然后再遍历的时候进行判断。满足条件的就输出该File的名称。
* B:直接获取指定目录下满足条件的String(File)数组。然后遍历数组即可。
*
* 文件名称过滤器:FilenameFilter
*                 public String[] list(FilenameFilter filter)
*/
public class FileDemo {
        public static void main(String[] args) {
                // 封装目录
                File file = new File("d:\\");

                // 获取满足条件的数组
                String[] strArray = file.list(new FilenameFilter() {
                        @Override
                        public boolean accept(File dir, String name) {
                                // 判断是否是文件,是否是以.mp4结尾
                                // System.out.println(dir + "---" + name);
                                File file = new File(dir, name); // d:\我的文档
                                boolean flag = file.isFile();
                                boolean flag2 = name.endsWith(".mp4");
                                return flag && flag2;
                        }
                });

                // 遍历字符串数组
                for (String str : strArray) {
                        System.out.println(str);
                }
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2