iOS中使用NSFileManager创建与拷贝文件

- (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);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容