磁盘相关的api及操作
1、检测磁盘使用大小及比例
iphone 剩余磁盘大小:
iPhone中获取磁盘剩余空间大小
iPhone中获取磁盘剩余空间大小
+ (long long) freeDiskSpaceInBytes{
struct statfs buf;
long long freespace = -1;
if(statfs("/var", &buf) >= 0){
freespace = (long long)(buf.f_bsize * buf.f_bfree);
}
return freespace;
}
在网上看到的例子中,第四行调用函数 statfs 时给定的参数是”/”,其实是不正确的,因为这样拿到的其实是系统分区的剩余空间,这些空间对我们应用程序来说是没有权限使用的,从df命令来看就可以看得很清楚了:
FilesystemSizeUsed Avail Use% Mounted on
/dev/disk0s11.0G596M418M59% /
devfs36K36K0 100% /dev
/dev/disk0s2s114G14G842M95% /private/var
/dev/disk1178M40M138M23% /Developer
根目录下挂载的分区是 /dev/disk0s1,而对我们来说有用的是 /dev/disk0s2s1。而在iphone或者itunes上面所看到的剩余空间大小也是这个分区的剩余空间大小。从这里,我们也可以很明显的看出 标识为16G的iPhone是怎么只有14G的。
https://www.cnblogs.com/artstyle/archive/2012/06/18/2553325.html
经检查无效,原因未知
上层代码检测
ios检测方式:
//获取磁盘大小、剩余空间
NSDictionary *systemAttributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()];
NSString *diskTotalSize = [systemAttributes objectForKey:@"NSFileSystemSize"];
NSLog(@"磁盘大小:%@ B", diskTotalSize);
NSLog(@"磁盘大小:%.2f GB", [diskTotalSize floatValue]/1024/1024/1024);
NSString *diskFreeSize = [systemAttributes objectForKey:@"NSFileSystemFreeSize"];
NSLog(@"可用空间:%@ B", diskFreeSize);
NSLog(@"可用空间:%.2f GB", [diskFreeSize floatValue]/1024/1024/1024)
【磁盘相关的api及操作】android检测磁盘:
https://weibo.com/p/230418132f4d37b0102wd7x
https://www.cnblogs.com/renjiemei1225/p/6148433.html
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量