gpt4 book ai didi

java - 使用 Java 8 收集数组/列表中的文件名

转载 作者:行者123 更新时间:2023-12-02 09:21:19 24 4
gpt4 key购买 nike

因此,我在尝试收集特定文件夹内的所有文件名并将它们存储在数组 [] 或评论中的列表中时遇到了问题。

这是到目前为止的代码:

String[] alist = new String[];
Files.list(Paths.get("mypath")).filter(Files::isRegularFile).forEach(System.out::println(alist);

或者

String[] alist;
alist = Files.list(Paths.get("mypath")).filter(Files::isRegularFile).toArray(String[]::new);

或者

Stream<String> alist = Stream.of(Files.list(Paths.get("path")).filter(Files::isRegularFile).toString());
String[] alist2 = alist.toArray(size -> new String[size]);

如您所见,我在找出执行此操作的正确方法时遇到了一些麻烦。

目的是一旦我将所有文件名存储在数组中。然后我可以拆分数组中的每个字符串。然后创建一个根据数组中分割字符串构建的 HashMap [key][name]。

几年后我才重新接触 Java 和 OOP,所以我有点生疏了。

感谢您的帮助!

最佳答案

正如@zforgo所说,只需使用stream.map(用于处理每个元素)并收集即可获取列表结果

List<String> filenames = Files.list(Paths.get("D:\\game\\Rayman1"))
.filter(Files::isRegularFile)
.map(p -> p.getFileName().toString())
.collect(Collectors.toList());

关于java - 使用 Java 8 收集数组/列表中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58676119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com