获取某个文件的属性(文件存在)
NSFileManager *manage = [NSFileManager defaultManager];
// 3.计算某个文件的大小(如:某个视频文件、文本文件等,带后缀)
NSDictionary *attriDict = [manage attributesOfItemAtPath:fileName error:nil];
NSLog(@"%@", attriDict);
从输出的文件属性中可以获取该文件的大小。
计算某个文件夹的大小
/**
* 计算文件大小
*
* @param fileName 文件/文件夹全路径
*/
- (long long)sizeOfFile:(NSString *)fileName {
// 文件管理器
NSFileManager *manage = [NSFileManager defaultManager];
long long totalSize = 0;
// 判断该文件存不存在
BOOL isDirectory = NO;
BOOL fileExists = [manage fileExistsAtPath:fileName isDirectory:&isDirectory];
if (fileExists) {
if (isDirectory) { //是文件夹
// 得到该文件夹里的直接子文件名(包含隐藏文件名)
NSArray *subpaths = [manage contentsOfDirectoryAtPath:fileName error:nil];
for (NSString *subpath in subpaths) {
// 拼接直接子文件名,得到 直接子文件 或 直接子文件夹 路径
NSString *fullSubpath = [fileName stringByAppendingPathComponent:subpath];
// NSLog(@"文件夹里直接子文件/直接子文件夹路径-----%@", fullSubpath);
//计算每个直接子文件的大小
totalSize += [self sizeOfFile:fullSubpath]; // 递归找出该根文件夹下的所有子文件
}
return totalSize;
}else { // 是文件
// 计算每一个文件的大小
NSDictionary *attriDict = [manage attributesOfItemAtPath:fileName error:nil];
return [attriDict[NSFileSize] longLongValue];
}
}else {
return 0;
}
}
删除某个存在的文件/文件夹
NSFileManager *manage = [NSFileManager defaultManager];
NSError *err = nil;
[manage removeItemAtPath:fileName error:&err];
if (err) {
NSLog(@"清除失败");
}else {
NSLog(@"清除成功");
}