gpt4 book ai didi

java - 返回空值的递归方法

转载 作者:行者123 更新时间:2023-12-01 09:41:35 25 4
gpt4 key购买 nike

说明

我的目标是将所有文件路径存储在一个文件中。为此,我构建了一个浏览特定文件夹的递归方法。但是,结果仍然是空的...

代码

public void main(String[] args) {
String files = browseFolder("", new File("blablalbla/.../toto"));

FileWriter writer = new FileWriter(new File("result/"));
writer.write(files);
writer.close();
}

private static String browseFolder(String result, File folder) {
for (final File fileEntry : folder.listFiles()) {
if (fileEntry.isDirectory()) {
browseFolder(result, fileEntry);
}
else {
System.out.println(fileEntry.getPath());
result += fileEntry.getPath() + "\n";
}
}
return result;
}

由于sysout,所有文件都显示在控制台中。但是,我的结果文件是空的。

有什么想法吗?谢谢。

最佳答案

由于 String 的不可变性(变量 result 总是引用内存中相同的字符串值),你应该使用 concat 来保存结果,因为它实际上创建了一个新的对新字符串值的引用。

if (fileEntry.isDirectory()) {
result += browseFolder(result, fileEntry);
}

关于java - 返回空值的递归方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59820574/

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