繁体   English   中英

Java - 如何读取同一目录中的所有文件

[英]Java - How to read all files in the same directory

我需要读取同一目录中的所有文件并将这些文件存储在列表中。 所有文件都以.txt结尾,没有子目录。

List<String> recipe = new ArrayList<>();
try {
    recipe = Files.readAllLines(Paths.get("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()));
}

尝试使用 FileNameFilter class: Java FileNameFilter 接口有方法boolean accept(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());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM