iOSでNSFileManagerを使用したファイルの作成とコピー

1853 ワード

- (void)viewDidLoad {
    [super viewDidLoad];

    //   :  xxx/Documents/test   
    //1.        
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
    NSString *testDirPath = [documentsPath stringByAppendingPathComponent:@"test"];
    //2.  NSFileManager    (shared/default/standard)
    NSFileManager *fileMgr = [NSFileManager defaultManager];
    //3.     
    /*   :          
         :YES(  ):         ;NO:     (      )
         :          (  +     +    ...);   nil(        )
         :    
     */
    NSError *error = nil;
    if(![fileMgr createDirectoryAtPath:testDirPath withIntermediateDirectories:YES attributes:nil error:&error]) {
        NSLog(@"       :%@", error.userInfo);
    }
    //   :test/test01.txt; test/test02.txt;      
    //1.        
    NSString *firstFilePath = [testDirPath stringByAppendingPathComponent:@"test01.txt"];
    NSString *secondFilePath = [testDirPath stringByAppendingPathComponent:@"test02.txt"];
    //2.      ,       
    /*   :        (  +  );   nil(    )
     */
    NSString *firstContent = @"          。。。。";
    [fileMgr createFileAtPath:firstFilePath contents:[firstContent dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
    NSString *secondContent = @"          。。。。";
    [fileMgr createFileAtPath:secondFilePath contents:[secondContent dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
    
    //   :test01.txt -> copy.txt
    //1.  copy.txt  
    NSString *copyPath = [testDirPath stringByAppendingPathComponent:@"copy.txt"];
    //2.    (        copy.txt  ;         )
    if(![fileMgr copyItemAtPath:firstFilePath toPath:copyPath error:&error]) {
        NSLog(@"    :%@", error.userInfo);
    }
}