1.新建類 “sandBox”
在sandBox.h中
//寫接口
pragma mark --- (封裝沙河路徑方法)
//獲取document文件目錄
+(NSString *)getDocumentDirectory;
//獲取library目錄
+(NSString *)getLibraryDirectionary;
//獲取library/Caches目錄
+(NSString *)getCachesDirectionary;
//獲取library/Preferences
+(NSString *)getPreferencesDirectory;
//獲取temp文件路徑
+(NSString *)getTempDirectory;
//獲取xxxx.app文件路徑
+(NSString *)getAppPath;
在sandBox.m中
pragma mark --- (封裝沙河路徑方法)
//獲取document文件目錄
//將程序當(dāng)中建立的或者在程序中瀏覽的數(shù)據(jù)保存在這
+(NSString *)getDocumentDirectory{
/*
三個參數(shù):
第一個參數(shù):枚舉(具體要查看的某個文件目錄【進(jìn)入的文件夾】)
第二個參數(shù): NSUserDomainMask用戶主目錄
第三個參數(shù):YES 設(shè)置為表示展開完整路徑
NSSearchPathForDirectoriesInDomains代表查找沙盒路徑幸撕,返回值是一個數(shù)組,該書中當(dāng)中只有一個元素外臂,這個元素就是路徑
*/
NSString * documentPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
return documentPath;
}
//獲取library目錄
//保存的是程序默認(rèn)設(shè)置坐儿,或者一些狀態(tài)信息
+(NSString *)getLibraryDirectionary{
return [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)lastObject];
}
//獲取library/Caches目錄
//存放地是緩存文件。宋光。音頻視頻
+(NSString *)getCachesDirectionary{
return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
}
//獲取library/Preferences
//偏好設(shè)置文件app 偏好設(shè)置存儲在這里挑童,例如:是否是否訪問圖片,是否訪問地理位置
+(NSString *)getPreferencesDirectory{
//獲取到library/Preferences目錄
NSArray *path2= NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
//是將前面路徑格式和后面的字符串給拼接在一起
//并且已路徑格式返回
NSString * path1=[[path2 objectAtIndex:0]stringByAppendingString:@"Preference"];
return path1;
//return [NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES)];
}
//獲取temp文件路徑
+(NSString *)getTempDirectory{
return NSTemporaryDirectory();
}
//獲取xxxx.app文件路徑
+(NSString *)getAppPath{
return [[NSBundle mainBundle]resourcePath];
}
- ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
#warning --- 簡單對象的讀寫:
//簡單對象:《字符串/數(shù)組/字典/數(shù)據(jù)(data)》
[self writefile];
[self myFileManager];
}
pragma mark--- 文件管理 ---創(chuàng)建---
-(void)myFileManager{
//初始化NSFileManager
//defaultManager方法為單例方法
NSFileManager * manager = [NSFileManager defaultManager];
//獲取跟路徑
NSString * path = NSHomeDirectory();
path = [path stringByAppendingPathComponent:@"text/myApp"];
//創(chuàng)建目錄
[manager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
//沙盒中創(chuàng)建文件
// NSString * path2=[path stringByAppendingString:@"text2/App"];
//
// [manager createDirectoryAtPath:path2 withIntermediateDirectories:YES attributes:nil error:nil];
// NSLog(@"%@",path);
pragma mark ---文件管理 ---添加:
path =[path stringByAppendingPathComponent:@"fuchuan.txt"];
// NSLog(@"%@",path);
//寫入內(nèi)容
NSString * string = @"我是向日葵";
//將文本寫入txt中
BOOL result=[string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
if (result){
NSLog(@"寫入成功%@",path);
}
else{
NSLog(@"失敗");
}
}
warning --- 簡單對象的讀寫:
-(void)writefile{
/*
//字符串寫入
//首先獲取document文件路徑
NSArray * documentArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//獲取首元素
NSString * documentpath=documentArray[0];
//文件夾名字<字符串.txt>
documentpath=[documentpath stringByAppendingString:@"/zifuchuan.txt"];
//NSLog(@"%@",documentpath);
//文本內(nèi)容
NSString *string =@"我有一百種方法讓你愛上我跃须,其中一種就是可勁調(diào)戲你";
//將文本內(nèi)容寫入的doucument的文件當(dāng)中
BOOL result =[string writeToFile:documentpath atomically:YES encoding:NSUTF8StringEncoding error:nil];
if(result){
NSLog(@"寫入成功站叼,數(shù)據(jù)就是%@",documentpath);
}
else{
NSLog(@"數(shù)據(jù)寫入失敗");
}
*/
/*
//數(shù)組寫入到沙盒文件中
//獲取文件路徑
NSString * document=[sandBox getDocumentDirectory];
//在document下拼接文件名;
NSString * path =[document stringByAppendingString:@"array.plist"];
//創(chuàng)建數(shù)組
NSArray * arrayFile = @[@"華晨宇",@"吳亦凡",@"宋仲基",@"向日葵"];
//將數(shù)組寫入到documents文件當(dāng)中
[arrayFile writeToFile:path atomically:YES];
NSLog(@"****%@",path);
*/
/*
//將字典寫入到沙盒文件中
//寫字典
//獲取document路徑
NSString * dicPath = [sandBox getDocumentDirectory];
//在document下拼接文件名菇民;
NSString * path=[dicPath stringByAppendingPathComponent:@"zidian.plist"];
NSDictionary * dict=@{@"name":@"小花"};
//將字典寫入到documents文件當(dāng)中
[dict writeToFile:path atomically:YES];
NSLog(@"%@",path);
*/
//將數(shù)據(jù)寫入到沙盒文件中
//獲取路徑并創(chuàng)建文件
NSString * dataPath=[[sandBox getDocumentDirectory]stringByAppendingPathComponent:@"data.a"];
//
NSString *datastr = @"阿爾卑斯";
//將string轉(zhuǎn)化為NSData類型
NSData * mydata= [datastr dataUsingEncoding:NSUTF8StringEncoding];
//寫入到文件中
[mydata writeToFile:dataPath atomically:YES];
NSLog(@"")
}