【发布时间】:2020-03-12 09:15:11
【问题描述】:
尝试获取目录/子目录中所有文本文件的列表并将其添加到列表中
结构:
sampleDirFolder->testDirFolder->test.txt,test1.txt
代码:
import java.io.File;
import java.io.IOException;
import java.util.*;
public class testClass {
//Method to read dir/sub-dir and get list of .java files
public static List<String> listFiles(String path)
{
File folder = new File(path);
File[] files = folder.listFiles();
for (File file : files)
{ if (file.isFile() && file.getName().endsWith(".txt"))
{
System.out.println(file.getName());
}
else if (file.isDirectory())
{
listFiles(file.getAbsolutePath());
}
}
return listOfFiles;
}
public static void main(String [] args) throws IOException {
listFiles("path/Desktop/sampledir");
}
}
操作:
test.txt
test1.txt
此代码适用于打印文件列表,有关如何将其添加到 List<String> 的任何建议
【问题讨论】:
-
1.创建一个列表。 2. 每次找到文件时,将其添加到列表中。 3. 返回列表。 4.将返回的List中的所有元素添加到List中。
-
@Amongalen 当我尝试将文件名添加到函数中的列表时,它只返回一个空列表。
-
您应该向我们展示您的尝试。当前代码甚至无法编译,因为没有
listOfFiles变量。 -
您可以使用 java 7 Files#walkFileTree 功能。如果您是 Java 新手,理解起来可能有些复杂,但这是一个非常紧凑的解决方案:docs.oracle.com/javase/7/docs/api/java/nio/file/…