当前位置: 代码迷 >> J2SE >> 读服务器某个文件夹中文件的有关问题(要按名称或更新时间排序)
  详细解决方案

读服务器某个文件夹中文件的有关问题(要按名称或更新时间排序)

热度:189   发布时间:2016-04-24 13:26:55.0
读服务器某个文件夹中文件的问题(要按名称或更新时间排序)
比如说服务器的 text目录下有:朱元璋的辉煌人生1.txt,朱元璋的辉煌人生2.txt,朱元璋的辉煌人生3.txt 这3个文件。我现在是用
file = new File("/text");
files = file.listFiles();
这样3个文件就都放进files 里了,但是顺序是乱的,能否有一个方法是按文件名或更新时间取出所有文件呢???

------解决方案--------------------
File[] listFiles(FileFilter filter) 这个方法中filter是文件过滤器 不负责文件排序

建议将text目录下的所有文件的文件名取出,存到一个数组里String[] arr_fileName,
然后对数组排序Arrays.sort(arr_fileName),
至于更新时间的排序file.lastModified()同理
------解决方案--------------------
//最容易理解的方法:
File f = new File("D:\\");
String[] fs = f.list();//取文件名,免的过会又用getName取出

//然后自己写一个排序的算法(一般都用冒泡吧)
Java code
    public String[] sort(String[] str_Array) {        if(str_Array==null) {            throw new NullPointerException("The str_Array can not be null!");        }        String tmp = "";        for(int i=0;i<str_Array.length;i++) {            for(int j=0;j<str_Array.length-i-1;j++) {                if(str_Array[j].compareTo(str_Array[j+1])<0) {                    tmp = str_Array[j];                    str_Array[j] = str_Array[j + 1];                    str_Array[j + 1] = tmp;                }            }        }        return str_Array;    }
  相关解决方案