大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
IOS中计算缓存文件的大小判断实例详解
创新互联是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:响应式网站设计、成都品牌网站建设、全网整合营销推广。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站设计、成都网站制作、外贸网站建设、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。IOS中计算缓存文件的大小判断,在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正。写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长。
实例代码:
//获取缓存文件路径 -(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); } }
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。