在Java中读取多个文件

在Java中读取多个文件,java,filenames,readfile,Java,Filenames,Readfile,我想一次将多个文件读入Java。文件名如下: nnnn_UM2012.txt ghkjdf_UM2045.txt erey_UM2189.txt 有1000多个文件,我不想用Java逐个编写所有文件名,代码类似于以下代码: String fileNames = {"nnnnn_UM2012.txt","ghkjdf_UM2045.txt","erey_UM2189.txt", …} 也许文件名应该以相反的顺序读取。我该怎么做 您可以使用方法获取文件夹中的所有文件。File rep=new

我想一次将多个文件读入Java。文件名如下:

  • nnnn_UM2012.txt
  • ghkjdf_UM2045.txt
  • erey_UM2189.txt
有1000多个文件,我不想用Java逐个编写所有文件名,代码类似于以下代码:

String fileNames = {"nnnnn_UM2012.txt","ghkjdf_UM2045.txt","erey_UM2189.txt", …}
也许文件名应该以相反的顺序读取。我该怎么做

您可以使用方法获取文件夹中的所有文件。

File rep=new File(“rep路径”);
File rep = new File("path to rep");
File[] list = rep.listFiles();
ArrayList<String> filenames = new ArrayList<String>();
for ( int i = 0; i < list.length; i++) {
    filenames.add(list[i].getName());
} 
File[]list=rep.listFiles(); ArrayList文件名=新的ArrayList(); for(int i=0;i

我想这可以解决您的问题。

获取文件夹中的所有文件(子文件夹包含在文件列表中):

//获取文件夹中的所有文件
最终文件文件夹=新文件(“.”);
最终列表fileList=Arrays.asList(folder.listFiles());

要获取文件夹中的所有文件(不包括子文件夹),请执行以下操作:

    // get all files in the folder excluding sub-folders
    final File folder = new File(".");
    final List<File> fileList = Arrays.asList(folder.listFiles(new FileFilter() {
        public boolean accept(File pathname) {
            return pathname.isFile();
        }
    }));
//获取文件夹中除子文件夹以外的所有文件
最终文件文件夹=新文件(“.”);
最终列表fileList=Arrays.asList(folder.listFiles(newfilefilter()){
公共布尔接受(文件路径名){
返回路径名.isFile();
}
}));
要将文件列表按区分大小写的相反顺序排序,请执行以下操作:

    // sort the files into reverse order
    Collections.sort(fileList, new Comparator<File>() {
        public int compare(File o1, File o2) {
            return o2.getName().compareTo(o1.getName());
        }
    });
    // sort the files into reverse order ignoring case
    Collections.sort(fileList, new Comparator<File>() {
        public int compare(File o1, File o2) {
            return o2.getName().compareToIgnoreCase(o1.getName());
        }
    });
//将文件按相反顺序排序
Collections.sort(fileList,newcomparator(){
公共整数比较(文件o1、文件o2){
返回o2.getName().compareTo(o1.getName());
}
});
要将文件列表按不区分大小写的相反顺序排序,请执行以下操作:

    // sort the files into reverse order
    Collections.sort(fileList, new Comparator<File>() {
        public int compare(File o1, File o2) {
            return o2.getName().compareTo(o1.getName());
        }
    });
    // sort the files into reverse order ignoring case
    Collections.sort(fileList, new Comparator<File>() {
        public int compare(File o1, File o2) {
            return o2.getName().compareToIgnoreCase(o1.getName());
        }
    });
//将文件按相反顺序排序忽略大小写
Collections.sort(fileList,newcomparator(){
公共整数比较(文件o1、文件o2){
返回o2.getName().compareToIgnoreCase(o1.getName());
}
});

如果所有文件都在一个目录中,则可以采用以下方法。 通过提供目录的完全限定路径获取对目录的引用,然后使用
list()
函数将所有文件名放入目录中的
字符串
数组中


完成此步骤后,您可以根据需要对文件进行排序(例如,按名称、长度等)。

下面的答案显示了如何获取文件夹中的所有文件名。如果您对颠倒顺序有疑问,请澄清。最好写成
Arrays.asList(rep.listFiles())变成
asList(rep.listFiles())使用静态导入。