这是我的代码,
private String memSize(String path){
StatFs stat = new StatFs(path);
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
long freeBlocks = stat.getFreeBlocks();
long countBlocks = stat.getBlockCount();
String fileSize = Formatter.formatFileSize(this, availableBlocks * blockSize);
String maxSize = Formatter.formatFileSize(this, countBlocks * blockSize);
String info = path.toString()
+ "\nblockSize : " + Long.toString(blockSize)
+ "\navailableBlocks : " + Long.toString(availableBlocks)
+ "\nfreeBlocks : " + Long.toString(freeBlocks)
+ "\nreservedBlocks : " + Long.toString(freeBlocks - availableBlocks)
+ "\ncountBlocks : " + Long.toString(countBlocks)
+ "\nspace : " + fileSize + " / " + maxSize
+ "\n\n";
return info;
}
我用路径测试我的功能/data
and /sdcard
它有效
但是当路径是/
(我理解这是根路径),这是结果。
- 区块大小:4096
- 可用块:0
- 空闲块:0
- 保留块:0
- 块数:0
- 空间:0.00B/0.00B
我认为根路径是超级用户区域。可能需要一些权限才能访问。
我的手机已经root了。你能告诉我下一步应该做什么吗?
谢谢。
参考
- http://developer.android.com/reference/android/os/StatFs.html http://developer.android.com/reference/android/os/StatFs.html
- Android 手机内部存储 https://stackoverflow.com/questions/2652935/android-internal-phone-storage
您的内部存储未安装在 / 中,而是安装在 /data 目录中。Android 手机内部存储 https://stackoverflow.com/questions/2652935/android-internal-phone-storage
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)