標籤:
沙箱下主要有四個檔案夾:document,caches,tmp,library
document 的路徑 程式運行時產生的檔案,這個檔案不要存比較放大的檔案,比如音頻,視頻類,因為這裡的東西會被上傳
caches 的路徑 一般用於檔案的下載,儲存(不會被上傳)
tmp 臨時檔案.程式結束後應該清空
沙箱檔案夾路徑擷取:
擷取沙箱路徑:
1 NSString *sandBoxPath = NSHomeDirectory();
擷取 document :
1 NSString *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
擷取 caches 路徑:
1 NSString *cacherPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
擷取 tmp 路徑:
1 NSString *tmpPath = NSTemporaryDirectory();
在沙箱下建立檔案:
1.擷取路徑
2.拼接檔案名稱(包括尾碼)
3.將內容寫到檔案
例:寫一個 txt 檔案:
1 //NSString 寫入 2 3 NSString *str = @"二傻子"; 4 5 //擷取 document 路徑 6 NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; 7 8 //拼接上一個 txt 檔案 9 NSString *filePath = [docPath stringByAppendingPathComponent:@"coco.txt"];10 11 //吧字串寫到 txt 檔案12 [str writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
例:寫一個 array 檔案:
1 //NSArray2 3 NSArray *array = @[@"二傻子",@"三傻子",@"翠花",@"葉良岑",@"趙日天",@"王尼瑪"];4 5 NSString *tmpPath1 = NSTemporaryDirectory();6 7 NSString *tmpFilePath = [tmpPath1 stringByAppendingPathComponent:@"tmp.plist"];8 9 [array writeToFile:tmpFilePath atomically:YES];
例:寫一個 dictionary 檔案:
1 NSDictionary *dic = @{@"1號":@"XXXXX",@"2號":@"XXXXX",@"3號":@"XXXXX",@"4號":@"XXXXX",@"5號":@"XXXXX"};2 3 NSString *dicPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];4 NSString *dicFilePath = [dicPath stringByAppendingPathComponent:@"dic.plist"];5 6 [dic writeToFile:dicFilePath atomically:YES];
例:寫一個 image 檔案:
1 NSString *cacherPath2 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];2 3 NSString *imgFilePath = [cacherPath2 stringByAppendingPathComponent:@"123.png"];4 5 NSData *data = [[NSData alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"1" ofType:@"png"]];6 7 [data writeToFile:imgFilePath atomically:YES];
iOS 沙箱路徑擷取,建立檔案