oc NSFileManager 文件夹创建、文件移动、文件复制、文件重命名

     // 初始化管理类

        NSFileManager * manager = [NSFileManager defaultManager];

        

        // 路径

        NSString * DirectoryPath = [NSHomeDirectory() stringByAppendingPathComponent:@"/desktop/我的文件夹1/我的文件夹2"];

       

        NSError * error = nil;

        if ([manager createDirectoryAtPath:DirectoryPath withIntermediateDirectories:NO attributes:nil error:&error] !=  YES) {

//            NSString * str = [error localizedDescription];

            NSLog(@"创建失败");

        }else {

//            NSString * str = [error localizedDescription];

            NSLog(@"创建成功");

        }





若此处为NO,则中间:我的文件夹1(不论之前存不存在) 都不创建,之前也不存在。


运行结果 

2015-04-11 11:30:41.477 2.创建文件夹[852:537431] 创建失败

Program ended with exit code: 0


    若此处为YES,则中间:我的文件夹1(不论之前存不存在)都创建,及时之间不存在

运行结果(创建出一个文件夹 我的文件夹1 他下面 我的文件夹2)

2015-04-11 11:38:11.547 2.创建文件夹[877:577493] 创建成功

Program ended with exit code: 0





文件重命名的两个方法:

方法一、思路:1.提取原有文件data,

2.将data存入新建的文件,

  3.删除原有文件


方法二、用[manager moveItemAtPath:filePath toPath:newPath error:nil];方法将filepath

路径下的文件名换成newPath


对文件NSData赋值,在文件内将内容更改后,move后的文件内容保持跟最后修改的一致

如果文件NSdata未赋值,在程序外文件内更改,move后新文件仍为空。










综合练习:

新建一个文件夹,将文件夹外面的文件移动到文件夹内部,并复制一副本


1.怎么新建oc文件夹

2.文件的移动

3.文件的复制


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

      

        // 文件管理者

        NSFileManager * manager = [NSFileManager defaultManager];

        

        // 文件夹地址

        NSString * directorPath = [NSHomeDirectory() stringByAppendingPathComponent:@"desktop/Goods"];

        // 文件地址

        NSString * filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"desktop/east.txt"];

         NSString * filePath2 = [NSHomeDirectory() stringByAppendingPathComponent:@"desktop/Goods/east.txt"];

        // 文件数据

        NSString * strForData = @"Goods is selling good!";

        NSData * dataForFile = [strForData dataUsingEncoding:NSUTF8StringEncoding];

        

        if ([manager createDirectoryAtPath:directorPath withIntermediateDirectories:YES attributes:nil error:nil]) {

            NSLog(@"创建成功");

        }

        if ([manager fileExistsAtPath:filePath]) {

            NSLog(@"文件存在");

        }else{

            

        [manager createFileAtPath:filePath contents:dataForFile attributes:nil];

            NSLog(@"文件创建成功!");

        }


        if ([manager moveItemAtPath:filePath toPath:filePath2 error:nil]) {

            NSLog(@"移动成功");

        }else{

            NSLog(@"移动失败");

        }

        

         NSString * filePath3 = [NSHomeDirectory() stringByAppendingPathComponent:@"desktop/Goods/1east.txt"];

        // copy

        if ([manager copyItemAtPath:filePath2 toPath:filePath3 error:nil]) {

            NSLog(@"success");

        }else

            NSLog(@"fail");

        }

        

    }

    return 0;

}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。