目录下的一些文件,文件名格式都为:Black_add_20110330235558552_MDMC.csv。
截取到文件名中的时间后,怎样将其按照时间进行排序来按序处理文件!!!求帮助!!!

解决方案 »

  1.   

    public static void main(String[] args) {
     String filePath = "d:\\ppp";
     File catalogFile = new File(filePath);
    File [] files=catalogFile.listFiles();
    List<File> filelist = new ArrayList<File>();
    for(File file:files){
    if(file.isFile())
    filelist.add(file);
    }
    Collections.sort(filelist,FILENAME_ASP);
    for(File file:filelist){
    if(file.isFile()){
    System.out.println(file.getName());

    }
    }
     
        
    }
    private static final  Comparator<File> FILENAME_ASP = new Comparator<File>() {
            public int compare(File n1, File n2) { 
                if (Long.parseLong(getNum(n1.getName())) < Long.parseLong(getNum(n2.getName()))) {
                    return -1;
                } else {
                    return 1;
                }
            }
        };
    public static String getNum(String filename){
    String reutnname=filename;
    String rex = "\\d+";
    Pattern p = Pattern.compile(rex);
            Matcher m = p.matcher(filename);
            if (m.find()) {
             reutnname = m.group();
            }
    return reutnname;
    }