真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

IOS基本文件操作實例詳解

IOS 基本文件操作實例詳解

為涇縣等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及涇縣網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都網(wǎng)站制作、涇縣網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

在iOS的App沙盒中,Documents和Library/Preferences都會被備份到iCloud,因此只適合放置一些記錄文件,例如plist、數(shù)據(jù)庫文件。緩存一般放置到Library/Caches,tmp文件夾會被系統(tǒng)隨機清除,不適宜防止數(shù)據(jù)。

【圖片緩存的清除】

在使用SDWebImage時,圖片被大量的緩存,有時需要獲取緩存的大小以及清除緩存。

要獲取緩存大小,使用SDImageCache單例的getSize方法拿到byte為單位的緩存大小,注意計算時按1K=1000計算。

拿到M為單位的文件大小的方法,如下:

double size = [[SDImageCache sharedImageCache] getSize] / 1000.0 / 1000.0; 

要清除緩存,調(diào)用clearDisk方法,分為有回調(diào)和無回調(diào)。

因為清除緩存的時間可能會比較長,因此應該用指示器予以指示。

[[SDImageCache sharedImageCache] clearDiskOnCompletion:^{ 
     
  // 清除完畢的處理。 
     
}]; 

【文件夾大小計算】

使用NSFileManager可以拿到文件的屬性,如果文件是目錄,拿到的FileSize是沒有意義的,因為目錄的大小需要遞歸計算,不宜作為一個靜態(tài)屬性。因此只有文件的FileSize屬性才是文件的大小。

為了計算文件夾的大小,應該遞歸內(nèi)部所有文件,還好蘋果官方集成了遞歸方法,通過遞歸可以拿到所有的目錄和所有的文件,只要利用FileManager的方法判斷是否是文件,如果是文件則拿到FileSize屬性累加,就能計算出文件夾的大小,如下:

需要注意的是遍歷出來的文件是以Caches為根目錄的,因此獲取屬性時應該拼接出全路徑。

- (void)fileSize{ 
 
  NSFileManager *manager = [NSFileManager defaultManager]; 
   
  NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; 
   
  NSArray *files = [manager subpathsOfDirectoryAtPath:cachePath error:nil]; // 遞歸所有子路徑 
   
  NSInteger totalSize = 0; 
   
  for (NSString *filePath in files) { 
    NSString *path = [cachePath stringByAppendingPathComponent:filePath]; 
    // 判斷是否為文件 
    BOOL isDir = NO; 
    [manager fileExistsAtPath:path isDirectory:&isDir]; 
    if (!isDir) { 
      NSDictionary *attrs = [manager attributesOfItemAtPath:path error:nil]; 
      totalSize += [attrs[NSFileSize] integerValue]; 
    } 
  } 
   
  NSLog(@"%d",totalSize); 
   
} 


感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


網(wǎng)站名稱:IOS基本文件操作實例詳解
鏈接分享:http://weahome.cn/article/ghgoij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部