IOS中計算緩存文件的大小判斷實(shí)例詳解
更新時間:2017年09月30日 10:21:43 作者:MacleChen
這篇文章主要介紹了IOS中計算緩存文件的大小判斷實(shí)例詳解的相關(guān)資料,希望通過本能幫助到大家,需要的朋友可以參考下
IOS中計算緩存文件的大小判斷實(shí)例詳解
IOS中計算緩存文件的大小判斷,在這里分享一下自己的心得,希望和大家一起分享技術(shù),如果有什么不足,還請大家指正。寫出這篇目的,就是希望大家一起成長,我也相信技術(shù)之間沒有高低,只有互補(bǔ),只有分享,才能使彼此更加成長。
實(shí)例代碼:
//獲取緩存文件路徑
-(NSString *)getCachesPath{
// 獲取Caches目錄路徑
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES);
NSString *cachesDir = [paths objectAtIndex:0];
NSString *filePath = [cachesDir stringByAppendingPathComponent:@"com.nickcheng.NCMusicEngine"];
return filePath;
}
///計算緩存文件的大小的M
- (long long) fileSizeAtPath:(NSString*) filePath{
NSFileManager* manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePath]){
// //取得一個目錄下得所有文件名
// NSArray *files = [manager subpathsAtPath:filePath];
// NSLog(@"files1111111%@ == %ld",files,files.count);
//
// // 從路徑中獲得完整的文件名(帶后綴)
// NSString *exe = [filePath lastPathComponent];
// NSLog(@"exeexe ====%@",exe);
//
// // 獲得文件名(不帶后綴)
// exe = [exe stringByDeletingPathExtension];
//
// // 獲得文件名(不帶后綴)
// NSString *exestr = [[files objectAtIndex:1] stringByDeletingPathExtension];
// NSLog(@"files2222222%@ ==== %@",[files objectAtIndex:1],exestr);
return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
}
return 0;
}
- (float ) folderSizeAtPath:(NSString*) folderPath{
NSFileManager* manager = [NSFileManager defaultManager];
if (![manager fileExistsAtPath:folderPath]) return 0;
NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];//從前向后枚舉器//////
NSString* fileName;
long long folderSize = 0;
while ((fileName = [childFilesEnumerator nextObject]) != nil){
NSLog(@"fileName ==== %@",fileName);
NSString* fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];
NSLog(@"fileAbsolutePath ==== %@",fileAbsolutePath);
folderSize += [self fileSizeAtPath:fileAbsolutePath];
}
NSLog(@"folderSize ==== %lld",folderSize);
return folderSize/(1024.0*1024.0);
}
////////////
-(void)ss{
// 獲取Caches目錄路徑
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES);
NSString *cachesDir = [paths objectAtIndex:0];
NSLog(@"cachesDircachesDir == %@",cachesDir);
//讀取緩存里面的具體單個文件/或全部文件//
NSString *filePath = [cachesDir stringByAppendingPathComponent:@"com.nickcheng.NCMusicEngine"];
NSArray *array = [[NSArray alloc]initWithContentsOfFile:filePath];
NSLog(@"filePathfilePath%@ ==array==== %@",filePath, array);
NSFileManager* fm=[NSFileManager defaultManager];
if([fm fileExistsAtPath:filePath]){
//取得一個目錄下得所有文件名
NSArray *files = [fm subpathsAtPath:filePath];
NSLog(@"files1111111%@ == %ld",files,files.count);
// 獲得文件名(不帶后綴)
NSString * exestr = [[files objectAtIndex:1] stringByDeletingPathExtension];
NSLog(@"files2222222%@ ==== %@",[files objectAtIndex:1],exestr);
}
}
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望通過本文能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
分享一個iOS下實(shí)現(xiàn)基本繪畫板功能的簡單方法
這篇文章主要介紹了iOS下實(shí)現(xiàn)基本繪畫板功能的簡單方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-10-10
iOS App設(shè)計模式開發(fā)中對建造者模式的運(yùn)用實(shí)例
這篇文章主要介紹了iOS App設(shè)計模式開發(fā)中對建造者模式的運(yùn)用實(shí)例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-04-04
Objective-C 經(jīng)典字典數(shù)組排序 - 省市區(qū)
本文主要介紹Objective-C 字典數(shù)組排序,這里整理相關(guān)資料及實(shí)現(xiàn)示例代碼,有興趣的小伙伴可以參考下2016-09-09

