如何从文件夹中读取文件名并将其添加到arraylist中,而不必创建数组并将所有答案循环到arraylist?
例如,假设我在一个文件夹中有一个txt文件列表。我需要做什么才能让Java读取每个文件名并将它们添加到字符串数组列表中,而不必像其他答案建议的那样执行String[]
?
File dir = new File(dir);
String[] fileArr dir.listFiles();
List fileList = Arrays.toList(fileArr); //I bet this is instance of ArrayList
//ArrayList otherFileList = new ArrayList(fileList);
ArrayList otherFileList = new ArrayList();
otherFileList.addAll(fileList);
注意:这些解决方案中,您不编写循环,但循环存在于其他方法中。
如果您使用的是Java 8或更新版本,您可以使用带有Java流的Java'nio'库来获得您想要的内容。
例如
final List<Path> files = Files.list(Paths.get("/path/to/folder"))
.filter(Files::isRegularFile)
.collect(Collectors.toList());