本帖最后由 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
/******************************************************************/
|