本文執行個體為大家區分NSBundle和NSURL,具體實現內容如下
在項目的工程中添加一個檔案,本常式添加的是aa.txt,檔案的內容為百度: www.baidu.com,現在要使用NSBundle和NSURL分別去擷取內容,代碼如下:
// 讀取檔案內容// 方法1:按照檔案路徑讀取 NSString *pathBundle = [[NSBundle mainBundle]pathForResource:@"aa" ofType:@"txt"]; NSString *outstringbundle = [NSString stringWithContentsOfFile:pathBundle encoding:NSUTF8StringEncoding error:nil]; // 方法2:按照URL讀取 NSURL *pathUrl = [[NSBundle mainBundle]URLForResource:@"aa" withExtension:@"txt" subdirectory:nil]; NSString *outstringUrl = [NSString stringWithContentsOfURL:pathUrl encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@\n////////\n%@",outstringbundle,outstringUrl);
輸出結果如下:
2016-03-30 14:48:02.939 沙箱機制and檔案路徑[11786:518929] 百度: www.baidu.com //////// 百度: www.baidu.com
寫入檔案:
先建立一個檔案:
NSString *newPath = [NSString stringWithFormat:@"%@/Documents/New",NSHomeDirectory()]; // 先把檔案路徑和檔案名稱定義好 NSString *newfile = [NSString stringWithFormat:@"%@/new.mp3",newPath]; // 使用createFileAtPath建立檔案 [[NSFileManager defaultManager]createFileAtPath:newfile contents:nil attributes:nil]; NSLog(@"%@",newPath);
在讀取並寫入:
// 寫入檔案// 1、先用data讀取資料 NSData *data = [[NSData alloc]initWithContentsOfFile:pathBundle]; NSLog(@"%@",data); // 2、把讀取的data寫入沙箱檔案,newfile為上面在沙箱檔案中建立的mp3檔案 [data writeToFile:newfile atomically:YES];
通過簡短執行個體為大家區分NSBundle和NSURL,希望對大家的學習有所協助。