gpt4 book ai didi

java - 在 Java 中获取文件夹的大小返回负 long

转载 作者:行者123 更新时间:2023-12-01 16:35:58 24 4
gpt4 key购买 nike

我正在尝试获取目录的长度(文件大小),并且我使用了以下递归方法来执行此操作,只有当我传递 new File("C:\\Users\\UserName\\Desktop") 作为参数。

static long totalLength = 0;

// Method to get the size of a folder and its contents
private static long getFolderSize(File folder){
if(folder.isDirectory()){
File[] contents = folder.listFiles();
for(File current : contents){
if(current.isDirectory()){
totalLength = totalLength +getFolderSize(current);
}
totalLength = totalLength + current.length();
}
}
return totalLength;
}

有趣的是,当我将桌面上的某些文件夹传递给该方法时,它们确实返回了预期的结果。我只是无法弄清楚为什么:我已经对各个文件的长度进行了一些调试,并且没有一个文件看起来是负数,但有时我仍然会得到负数结果!

任何想法将不胜感激!提前致谢

最佳答案

为什么不使用已经内置此功能的成熟库,例如:

其中还有涵盖此类情况的测试。

关于java - 在 Java 中获取文件夹的大小返回负 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9046960/

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