我正在使用"file.length()"在我的应用程序中计算文件夹大小.它在其他版本的Android OS中运行良好,我的文件夹大小以字节为单位.但问题是,当我为一个装有姜饼的设备运行相同的代码时,它总是显示我的大小为0字节.我无法理解这个问题.这是我的代码: -
File file1=new File(android.os.Environment.getExternalStorageDirectory(),"/.Gallery");
double total_length = file1.length();
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题,任何帮助都会很明显.
提前致谢.
来自android文档:
File.lenght():返回该文件的长度(以字节为单位)。如果文件不存在则返回 0。目录的结果未定义。
您可以使用它来计算目录长度:
public static long getFolderSize(File folderPath) {
long totalSize = 0;
if (folderPath == null) {
return 0;
}
if (!folderPath.isDirectory()) {
return 0;
}
File[] files = folderPath.listFiles();
if(files != null){
for (File file : files) {
if (file.isFile()) {
totalSize += file.length();
} else if (file.isDirectory()) {
totalSize += file.length();
totalSize += getFolderSize(file);
}
}
}
return totalSize;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |