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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hanrongle 中级黑马   /  2013-8-6 13:06  /  960 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

毕老师在讲到File类中list和listFile时,没有听懂,请各位指点!

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3

查看全部评分

5 个回复

倒序浏览
String[]  list();返回目录下所有子文件夹名称和文件的名称
   listFiles();文件夹下的文件名称不包含子文件名称
也可以查看API文档,也能理解希望对你有帮助!

1.png (7.79 KB, 下载次数: 4)

1.png

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
list();返回目录下所有子文件夹名称和文件的名称
listFiles();文件夹下的文件名称不包含子文件名称
回复 使用道具 举报
本帖最后由 Mr_Free 于 2013-8-7 18:52 编辑

list()返回的是一个字符串数组,里面存放的元素是 抽象路径目录下的文件和目录,这些元素都是字符串。如果抽象路径不是目录,返回空。如果是目录,这些元素就是这个目录下的文件或者目录。
而且  只存放文件或者目录名。不是完整的绝对路径。


listFiles() 返回的是一个抽象路径名数组,这些抽象路径可以表示文件,也可以表示目录,这些元素都是File对象的形式存在的。
如果抽象路径不是目录,返回空。如果是目录,这些元素的抽象路径根据 调用它的对象所存放的路径是绝对路径还是相对路径决定的。
说白了就是调用listFile()这个方法的那个对象,他本身应该存放一个路径,可能存绝对路径,可能存相对路径。

如果是绝对路径,那么这些数组元素返回的都是绝对路径,如果是相对路径就是返回相对路径。


下面是我的演示例子
/******************************************************************/
                File dir = new File("src");//我选择的是相对路径
                File[] files  = dir.listFiles();
               
                for(File f : files){
                        System.out.println(f);
                }
程序运行结果==========================都是包含父目录的相对路径
src\day18_19
src\day20_21
src\jiaqiang1
src\mianshi
src\wenti
/******************************************************************/

如果我改成
File dir = new File("C:\\");

那么打印出来的都是绝对路径
C:\splitfiles
C:\System Volume Information
C:\Test.java
C:\WINDOWS
C:\复件 abc
/******************************************************************/
然后是list方法的实现
                File f = new File("c:\\");
                String[] names = f.list();//调用list方法的file对象必须是封
//                装了一个目录,该目录还必须存在
                for(String name : names){
                        System.out.println(name);
                }

打印出来的只有文件或者目录名本身:

splitfiles
System Volume Information
Test.java
WINDOWS
复件 abc
/******************************************************************/
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马