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来回答这个问题?这是否回答了你的问题?