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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王婷婷 中级黑马   /  2013-4-18 23:04  /  2917 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

程序中的一部分:
File f = new File("f:\\java");
        String[] names = f.list();

        for (String name : names)
        {
            System.out.println(names);
        }
                        
//调用listFiles()方法,用于列出该目录下的文件(files),其返回类型为    File[]    数组对象
        File[] files = dir.listFiles();
        
        //        ??????????????
        for (int x =0; x<files.length;x++ )
        {
                 //files[x]?????????????????

            //如果该文件是目录的话,
            if (files[x].isDirectory())
            {
                //再遍历该目录下的文件   方法中调用自身方法
                showDir(files[x]);
            }
            else
            System.out.println(files[x]);

        }

其中的files[x]?  能具体讲讲吗?

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

5 个回复

倒序浏览
listFile()方法返回File类型的数组,这个数组中可以是目录也可以是文件,API中说的是抽象路径,每个File对象可以是绝对路径或者是相对路径,可以参考这个帖子http://bbs.itheima.com/thread-46497-1-1.html  他的意思是,一些avi视频文件的目录层次太深,想把他们成批复制到一个层次少些的目录。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
郭登旭 发表于 2013-4-19 13:44
listFile()方法返回File类型的数组,这个数组中可以是目录也可以是文件,API中说的是抽象路径,每个File对 ...

呃,我是说,files[x]的意思。

当调用listFile()方法时,返回的是一个 数组对象 类型,那么,files[x] 是不是就是代表一个变量???
当  x  累加时, file[x]  指向的是所遍历到的那个目录或文件(.java文件)???

今天又看了遍视频,,不知道是不是这个意思?
回复 使用道具 举报
File[] files是一个file类的数组,里面装的是File对象,file[x]就表示数组里面的一个元素,也就是一个File对象。而我们现在要做的就是要把目录里面的文件打印出来,所以要判断File是否为目录,如果是目录,则继续用listFile()方法遍历该目录,如果不是目录,就把它打印出来。你把File[] files当作int[] arr来看就行了,arr里面装的是一个int型元素
回复 使用道具 举报
File[]是一个文件对象的数组,那么File[i];表示这个文件数组中的某个文件;
好比说,桌子上有一堆文件;领导说这些文件都是标了号的,这个x就是号,
他叫你把这些文件整理出来归好类,几号几号文件是什么内容。
这个时候你就一个个的去翻看。。。
希望能帮到你。。。
回复 使用道具 举报
王婷婷 发表于 2013-4-19 15:45
呃,我是说,files[x]的意思。

当调用listFile()方法时,返回的是一个 数组对象 类型,那么,files[x]  ...

嗯,是的,file[x]是数组,就可以用角标遍历,只不过它里面的元素是File类型的(目录或者文件),就像int[x]里面的元素都是int类型的一样。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马