[英]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.