日期:2014-05-20  浏览次数:20663 次

读服务器某个文件夹中文件的问题(要按名称或更新时间排序)
比如说服务器的 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;
    }