關於IOS 向documents等目錄寫檔案和建立資料夾的問題
阿新 • • 發佈:2019-02-05
這個問題糾結了兩天,和同事兩個人一直在看原始程式碼,並沒有實際的進行程式碼驗證,結果導致問題糾結了好久,後來發現其實就是方法定義的問題,不知道是不是準確,簡單的描述各個方法的功能:
1.建立資料夾:
以上程式碼中,對於資料夾的建立,必須經過NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString * path1 = [path stringByAppendingPathComponent:@"aaa"]; // if (![[NSFileManager defaultManager] fileExistsAtPath:path1]) { // [[NSFileManager defaultManager] createDirectoryAtPath:path1 withIntermediateDirectories:YES attributes:nil error:nil]; // } NSString * filePath = [[path1 stringByAppendingPathComponent:@"bbb"] stringByAppendingPathExtension:@"txt"]; NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; BOOL success =[[string dataUsingEncoding:NSUTF8StringEncoding] writeToFile:filePath atomically:YES]; if (success) { NSLog(@"寫入成功"); }else{ NSLog(@"寫入失敗"); }
// if (![[NSFileManager defaultManager] fileExistsAtPath:path1]) {
// [[NSFileManager defaultManager] createDirectoryAtPath:path1 withIntermediateDirectories:YES attributes:nil error:nil];
// }
方法,進行路徑的建立。而不能直接進行路徑的新增
而建立檔案並寫入檔案 直接使用
就可以了NSString * filePath = [[path1 stringByAppendingPathComponent:@"bbb"] stringByAppendingPathExtension:@"txt"]; NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; BOOL success =[[string dataUsingEncoding:NSUTF8StringEncoding] writeToFile:filePath atomically:YES]; if (success) { NSLog(@"寫入成功"); }else{ NSLog(@"寫入失敗"); }