方法一:
+ (NSNumber *)freeDiskSpace {
NSDictionary *fattr = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:nil];
NSNumber *totalSpace = [fattributes objectForKey:NSFileSystemSize];
NSNumber *freeSpace [fattr objectForKey:NSFileSystemFreeSize];
return freeSpace;
}
方法二:
#include <sys/param.h>
#include <sys/mount.h>
+ (unsigned long long)freeDiskSpace{
struct statfs buf;
unsigned long long freeSpace = -1;
if (statfs("/var", &buf) >= 0) {
freeSpace = (unsigned long long)(buf.f_bsize * buf.f_bavail);
}
return freeSpace;
}
方法三:
+ (NSNumber *)freeDiskSpace {
NSError *error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
if (dictionary)
{
NSNumber *freeSpace = [dictionary objectForKey:NSFileSystemFreeSize];
NSNumber *totalSpace = [dictionary objectForKey:NSFileSystemSize];
return freeSpace;
}
return nil;
}
网友评论