A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

wxlz520

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

import java.io.*;

class  FileDemo2
{
        public static void main(String[] args)
        {
                //File dir = new File("c:\\");
                //File[] files = dir.listFiles();

                //for(File f:files)
                //{
                //        System.out.println(f.getName()+"---"+f.length());
                //}

                //System.out.println(files);
                //listRootsDemo();
                listDemo_2();
        }

        public static void listDemo_2()
        {
                File dir = new File("C:\\Documents and Settings\\Administrator\\桌面\\day20");
                //FilenameFilter fnf=new Test();
                String[] arr = dir.list(new Test());
                //System.out.println(arr);
                for(String name : arr)
                {
                        System.out.println(name);
                }
        }

        public static void listDemo()
        {
                File f = new File("c:\\abc.txt");

                String[] names = f.list();//调用list方法的file对象必须是封装了一个目录。该目录还必须存在。
                for(String name : names)
                {
                        System.out.println(name);
                }
        }
        public static void listRootsDemo()
        {
                File[] files = File.listRoots();

                for(File f : files)
                {
                        System.out.println(f);
                }
        }
}

class Test implements FilenameFilter
{
        public boolean accept(File file,String name)
        {
                System.out.println(file+"..."+name);
                return(name.endsWith(".bmp"));
        }
}
毕老师的视频上用的是匿名对象,我看的有点不爽,于是自己又实现了FilenameFilter接口的accept方法,不解的地方在 dir.list(new Test())这,我new了一个Test()对象,但是我并没有调用accept方法,更没有给它传递任何参数,那么file 和 name局部变量接收的是谁传递来的参数呢?实验演示虽然能打印出正确结果,貌似
file接收的是dir变量指向的对象,而name却有点像File f.getName()...跪请高人指导下,非常想知道accept是怎么实现的!:L

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马