Android上でフォルダのサイズを取得しようとしています。問題は次のとおりです。ディレクトリサイズを取得する方法が異なる結果を返す
- 関数が何か別のものを返すたびに。
- すべてのファイルをスキャンするわけではありません。
誰かが私にその理由を教えてもらえますか?
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
}
私はこの機能を別のスレッドから持っています。このコードを改善するにはどうすればよいですか?
良いコード!ありがとう!投票してください! – XXX