java中File类中list()和listFiles()方法区别

【File排序讨论】File list()读取文件时,文件的排序是怎样的

http://bbs.csdn.net/topics/390169759

代码如下:

Java code
 
?
1
2
 File file = new File(C:\\Test\\);
            String[] myList = file.list();



在Test文件夹下有文件:
1.txt  2012/08/10

2.txt  2012/08/11

3.txt  2012/08/12

4.txt  2012/08/13

最想知道的问题:list()读文件的时候,是以什么样的方式来对文件进行排序的?是按照“大小”还是“时间”或者是其他的?
(我试过,与文件名无关)

提问:

1.list()方法将文件存入 MyList数组中,是否会因为Test文件夹中的文件排序变化而变化(文件夹中文件的排序有:名称、大小、时间、类型)

对应实际需求:

1、有 1.txt    2.txt   3.txt,其中,1.txt中的一条数据在2.txt中存在,要求2.txt中的这一条数据将1.txt中的这一天覆盖(前提:1.txt 更新时间:2012/08/09  2.txt 更新时间是:2012/08/10)

新数据将老数据覆盖

---------------------------------------------------------------------------------------------------------------------------

这是   API

list
public String[] list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 
如果此抽象路径名不表示一个目录,那么此方法将返回 null。否则返回一个字符串数组,每个数组元素对应目录中的每个文件或目录。表示目录本身及其父目录的名称不包括在结果中。每个字符串是一个文件名,而不是一条完整路径。 

不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。 


返回:
字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。如果目录为空,那么数组也将为空。如果此抽象路径名不表示一个目录,或者发生 I/O 错误,则返回 null。 
抛出: 
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒绝对目录进行读访问

-------------------------------------------------------------------------------------------------------------------------------

 

 

java中File类中list()和listFiles()方法区别

http://blog.csdn.net/baidu_37107022/article/details/70305005

标签: File类list-方法listFiles方

list()和listFiles()方法区别:

1.返回值类型不同:前者为String数组,后者为File对象数组 
2.数组中元素内容不同:前者为string类型的【文件名】(包含后缀名),后者为File对象类型的【完整路径】

因此,遍历文件夹中所有文件,包括子文件夹中的文件时,必须用listFiles()方法

》》遍历文件夹中所有文件,包括子文件夹中的文件实例见下节内容《《

演示:

package Flie类中list和listFiles方法区别;

import java.io.File;

public class Test {
    public static void main(String[] args){
        File file=new File("D:\\tcb\\工具");
        //list()方法存储的是文件名
        System.out.println("list()方法遍历的结果:");
        String[] strings=file.list();
        for (String string : strings) {
            System.out.println(string);
        }
        System.out.println();
        //listFiles()方法存储的是文件的完整路径,因此在遍历文件夹以及子文件夹中所有文件时必须使用listFiles()方法
        System.out.println("listFiles()方法遍历的结果:");
        File[] files=file.listFiles();
        for (File file2 : files) {
            System.out.println(file2);
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

结果: 
这里写图片描述

0
 
0
posted @ 2018-02-13 16:54  sky20080101  阅读(582)  评论(0)    收藏  举报