NSFileManager使用方法

本文详细介绍了NSFileManager的使用方法,包括单例创建、判断路径存在性、文件属性检查、读写删除权限判断、文件属性获取、列举目录内容、文件操作(创建、复制、移动、删除)等核心功能。

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

NSFileManager使用方法

NSString * filePath=@"/Users/nlp/Desktop/NSString_Test_01/NSString_Test_01/Info.plist";

单例

NSFileManager *fm=[NSFileManager defaultManager];

1.判断是否指定位置有内容(文件或文件夹)

BOOL haveaFile=[fm fileExistsAtPath:filePath];

2.判断指定位置是目录(文件夹)还是文件,例如桌面这种就是目录

BOOL isCatalogue;
//注意:isDirectory是指向BOOL类型数据的位置的指针,所以要取位置(加上&);
BOOL haveFile=[fm fileExistsAtPath:filePathisDirectory:&isCatalogue];
    *if(isCatalogue) {
    NSLog(@"这是一个目录");
    }else
    {
    NSLog(@"这是一个文件");
    }

3.判断文件是否可读

BOOL canRead=[fm isReadableFileAtPath:filePath];

4.判断文件是否可写

BOOL canWrite=[fm isWritableFileAtPath:filePath];

5.判断文件是否可删除

BOOL canDelete=[fm isDeletableFileAtPath:filePath];

6.获取文件属性

NSDictionary * attDic=[fm attributesOfItemAtPath:filePatherror:nil];
NSLog(@"attDic=%@",attDic);

7.获取文件夹下所有子目录和子文件

//返回所有子文件路径,(使用递归方法,消耗内存严重,一般不采用)
NSArray* subArr=[fmsubpathsAtPath:filePath1];
NSLog(@"subArr=%@",subArr);

8.获取文件夹下所有子目录和子文件

//返回所有子文件路径,(常用方法,不使用递归方法)
NSArray* subArr1=[fm subpathsOfDirectoryAtPath:filePath1error:nil];
NSLog(@"subArr1=%@",subArr1);

9.获取文件夹下子目录(只包括子文件及目录,不包括二级目录)

NSArray* firstSubArr=[fm contentsOfDirectoryAtPath:filePath1error:nil];
NSLog(@"firstSubArr=%@",firstSubArr);

10.创建文件夹

//IntermediateDirectories:
      YES:创建目录时,自动创建路径下缺少的目录
      NO:不自动创建,如果中途缺少目录,则失败
  attributes:
        文件属性
        //
BOOL createSuccess=[fm createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil];

11.创建文件

NSString * filePath2=@"/Users/nlp/Desktop/NSString_Test_01/NSString_Test_01/test.txt";
NSString * str=@"I love you";
NSData * strData=[str dataUsingEncoding:NSUTF8StringEncoding];
BOOL creatSuccess=[fm createFileAtPath:filePath2 contents:strData attributes:nil];

12.复制文件

//目标路径
    NSString * copyPath=@"/Users/nlp/Desktop/NSString_Test_01/NSString_Test_02/test.txt";

    NSError * error;
    BOOL copySuccess=[fm copyItemAtPath:filePath2 toPath:copyPath error:&error];

13.移动文件

NSString * movePath=@"/Users/nlp/Desktop/NSString_Test_01/NSString_Test_02/test.txt";
BOOL moveSuccess=[fm moveItemAtPath:filePath2 toPath:movePath error:&error];

14.删除文件

BOOL deleteSuccess=[fm removeItemAtPath:filePath error:&error];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值