NSFileManager文件操作

本文介绍如何在MacOS操作系统中使用文件管理器进行基本的文件操作,包括查看目录内容、深度遍历目录、创建目录、创建文件、删除文件、拷贝文件、剪切文件等常用功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#import <Foundation/Foundation.h>
#define PATH @"/Users/gutrip/Desktop/Test"
#define ERROR(a) if(a){ NSLog(@"%@",a);}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        NSFileManager *fm = [NSFileManager defaultManager];
        //创建一个文件管理器的对象
        
        NSError *error=nil;
        
        //查看一个目录下有哪些文件或者文件夹
       NSArray *array = [fm contentsOfDirectoryAtPath:PATH error:&error];
        
        if (error) {
            NSLog(@"%@",error);
            exit(-1);
            
        }
        //浅度遍历
        NSLog(@"%@",array);
        /*
         array:
         ".DS_Store", 这是一个隐藏文件
         CoreAnimationsDemo,
         InstrumentsTest,
         KVO,
         NSFileManager,
         NSNotificationCenterTest,
         ProtocolTest,
         StoryoardDemo,
         XCTest
         */
        
        //深度遍历
        array = [fm subpathsOfDirectoryAtPath:PATH error:&error];
        if (error) {
            NSLog(@"%@",error);
            exit(-1);
        }
        NSLog(@"%@",array);
        
        
        //创建目录  中间参数表示是否创建中间目录,如果yes,则如果缺少中间目录则自动创建中间目录
        [fm createDirectoryAtPath:[NSString stringWithFormat:@"%@/middle/dir",PATH] withIntermediateDirectories:YES attributes:nil error:&error];
        
        if (error) {
            NSLog(@"%@",error);
            exit(-1);
        }
        
        //创建一个文件  pram2为创建文件的内容  终端下查看文件内容命令 cat Desktop/test/dir/file ,如果不写如内容,则置为nil。
        //创建文件只是创建文件 没有文件格式
        [fm createFileAtPath:[NSString stringWithFormat:@"%@/middle/dir/file",PATH] contents:[@"hello" dataUsingEncoding:NSUTF8StringEncoding]  attributes:nil];
        
//        //删除文件
        [fm removeItemAtPath:[NSString stringWithFormat:@"%@/middle/dir2",PATH] error:&error];
        ERROR(error);
//        
//        //拷贝文件
        [fm copyItemAtPath:[NSString stringWithFormat:@"%@/middle/dir",PATH] toPath:[NSString stringWithFormat:@"%@/middle/dir2",PATH] error:&error];
        ERROR(error);
         
        //剪切文件 pram1为移动文件目录和文件 pram2为目的文件目录和文件夹名
        [fm moveItemAtPath:[NSString stringWithFormat:@"%@/middle/dir",PATH] toPath:[NSString stringWithFormat:@"%@/middle/dir2/dir",PATH] error:&error];
        ERROR(error);
        
        
        
        
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值