gpt4 book ai didi

java - 获取目录大小的方法返回不同的结果

转载 作者:行者123 更新时间:2023-11-29 07:19:21 24 4
gpt4 key购买 nike

我正在尝试获取 Android 上文件夹的大小。问题是:

  1. 每次函数返回不同的东西。
  2. 它不会扫描所有文件。

谁能告诉我为什么?

private long dirSize(File dir) {
long result = 0;
File[] fileList = dir.listFiles();

for(int i = 0; i < fileList.length; i++) {
// Recursive call if it's a directory
if(fileList[i].isDirectory()) {
result += dirSize(fileList [i]);
} else {
// Sum the file size in bytes
result += fileList[i].length();
}
}
return result/1024/1024; // return the file size
}

我从另一个线程得到这个函数。我该如何改进这段代码?

最佳答案

去掉最后的除法。每个子文件夹都被四舍五入到最接近的 MB,并添加到当前文件夹的大小(以字节为单位)。返回字节并在调用方处理转换。

关于java - 获取目录大小的方法返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6576263/

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