Java 读取同一目录中的所有文本文件

Java 读取同一目录中的所有文本文件,java,string,list,file,arraylist,Java,String,List,File,Arraylist,如何读取同一文件夹中的所有文本文件? 我目前正在读取一个文件,如下例所示: List<String> recipe = new ArrayList<>(); try { recipe = Files.readAllLines(Paths.get("gyro.txt")); } List recipe=new ArrayList(); 试一试{ recipe=Files.readAllLines(path.get(“gyro.txt”); }

如何读取同一文件夹中的所有文本文件?
我目前正在读取一个文件,如下例所示:

List<String> recipe = new ArrayList<>();
try {
    recipe = Files.readAllLines(Paths.get("gyro.txt"));
}
List recipe=new ArrayList();
试一试{
recipe=Files.readAllLines(path.get(“gyro.txt”);
}

其余的文件可以命名为任何名称,但它们总是以扩展名
.txt
结尾,它们也将与
gyro.txt
文件位于同一路径中。

您可以获得一个文件数组(根据指定的文件夹),然后您可以按文件夹中的每个文件进行迭代,并添加文件中的所有字符。 请尝试使用以下代码:

public static List<String> readFromAllFilesInDirectory(final String folderName) {
    File folder = new File(folderName);
    List<String> recipe = new ArrayList<>();
    for (final File file : Objects.requireNonNull(folder.listFiles())) {
        if (!file.isDirectory()) {
            try {
                recipe.addAll(Files.readAllLines(Paths.get(file.getPath())));
            } catch (Exception e) {
            }
        }
    }
    return recipe;
}

public static void main(String[] args) {
    File folder = new File("G:\\B\\1.txt");
    System.out.println(readFromAllFilesInDirectory(folder.getParent()));
}
公共静态列表readFromAllFilesInDirectory(最终字符串folderName){
文件夹=新文件(文件夹名称);
列表配方=新的ArrayList();
对于(最终文件:Objects.requirennull(folder.listFiles())){
如果(!file.isDirectory()){
试一试{
recipe.addAll(Files.readAllLines(path.get(file.getPath())));
}捕获(例外e){
}
}
}
返回配方;
}
公共静态void main(字符串[]args){
文件夹=新文件(“G:\\B\\1.txt”);
System.out.println(readfromalfilesindirectory(folder.getParent());
}

尝试使用FileNameFilter类:Java FileNameFilter接口具有应该实现的方法
布尔接受(File dir,String name)
,并且每个文件都经过测试,该方法将包含在文件列表中

File directory = new File("D://");

File[] files = directory.listFiles(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.toLowerCase().endsWith(".txt");
    }
});
for (File file : files) {
    System.out.println(file.getAbsolutePath());
}

请看这篇文章,希望这将有助于复制@Umair。当更新和更简单的东西存在时,为什么你推荐使用古老而笨重的API来回答这个问题?这是否回答了你的问题?