代码如下:
 File file = new File(C:\\Test\\);
            String[] myList = file.list();在Test文件夹下有文件:
1.txt  2012/08/102.txt  2012/08/113.txt  2012/08/124.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)新数据将老数据覆盖

解决方案 »

  1.   

    很想知道:java   File  list()方法是怎样读取文件夹下文件的   读取方式,是怎样做到的,又是怎样的排序……
      

  2.   

    这是   APIlist
    public String[] list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 
    如果此抽象路径名不表示一个目录,那么此方法将返回 null。否则返回一个字符串数组,每个数组元素对应目录中的每个文件或目录。表示目录本身及其父目录的名称不包括在结果中。每个字符串是一个文件名,而不是一条完整路径。 不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。 
    返回:
    字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。如果目录为空,那么数组也将为空。如果此抽象路径名不表示一个目录,或者发生 I/O 错误,则返回 null。 
    抛出: 
    SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒绝对目录进行读访问
      

  3.   

    java用的是跨平台调用,调用的系统提供的接口,这个是系统封装好的。看不见...要排序,自己写一个排序方法吧...调用Arrays.sort(T[] a, Comparator<? super T> c) ,实现Comparator接口...
      

  4.   

    也可以实现FileFilter接口,再里面写过滤算法,只取自己需要的文件。
    File[] listFiles(FileFilter filter) 
    public class MyFileFilter implements FileFilter
    {
    //传一些过滤参数进来
    public MyFileFilter(...)
    {

    }

    @Override
    public boolean accept(File pathname) {
    return false;
    }
    }
      

  5.   


    做不到,
    还是自己实现排序接口,调用Arrays.sort(....)  或者Collections.sort(...)来排序吧...
      

  6.   

     宝哥  、火龙果 、Mice……各位大神们,帮我看看呗