按升序读取多个文件文件名

时间:2014-08-14 23:14:59

标签: java file

我不知道发生了什么事。我想访问一个包含多个文件的目录:

 folder\\1.txt 2.txt 3.txt....

现在我想根据它们的出现来阅读它们我的意思是首先是最低的,我只想按升序读取它们! 我的代码是:

File f=new File("xxx");
File[] files = f.listFiles(); 
for (File ff : files) {

   if(ff.isFile()) {
   System.out.println(ff.toString());
   }
}

到目前为止代码工作正常,但它将文件作为

1.txt
10.txt
11.txt
9.txt
8.txt
...

所以出了什么问题我想按升序顺序阅读它们

1 个答案:

答案 0 :(得分:1)

Arrays.sort 排序:

        Arrays.sort(files, new Comparator<File>() {

            public int compare(File o1, File o2) {
                int n1 = getNum(o1.getName());
                int n2 = getNum(o2.getName());
                return n1 - n2;
            }
       }

        private int getNum(String name) {
            int i;
            // extract number from the file name here by doing some processes
            return i;
        }