NSFileManager介绍和用法

本文详细介绍了NSFileManager的功能及其常用方法,包括文件与文件夹的判断、路径管理及文件操作等,并提供了一个创建目录并写入文件的示例。

1、NSFileManager介绍

顾名思义, NSFileManager是用来管理文件系统的 它可以用来进行常见的文件\文件夹操作(拷贝、剪切、创建等)
NSFileManager使用了单例模式singleton 使用defaultManager方法可以获得那个单例对象 [NSFileManager defaultManager]

2、NSFileManager判断文件文件夹

1、- (BOOL)fileExistsAtPath:(NSString *)path; path这个文件或文件夹(目录)是否存在

2、- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory; path这个文件或文件夹是否存在, isDirectory代表是否为文件夹

3、- (BOOL)isReadableFileAtPath:(NSString *)path; path这个文件或文件夹是否可读

4、- (BOOL)isWritableFileAtPath:(NSString *)path; path这个文件或文件夹是否可写

5、- (BOOL)isDeletableFileAtPath:(NSString *)path; path这个文件或文件夹是否可删除

3、NSFileManager管理路径

1、- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error; 获得path这个文件\文件夹的属性

2、- (NSArray *)subpathsAtPath:(NSString *)path; 查找给定路径下的所有子路径,返回一个数组, 深度查找,不限于当前层,也会查找package的 内容。

3、- (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error; 获得path的所有子路径(后代路径)

4、- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error; 获得path的当前子路径(path下的所有直接子内容,path必须是一个目录)

5、- (NSData *)contentsAtPath:(NSString *)path; 获得文件内容

4、NSFileManager文件操作

1、- (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL) createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error; 只能创建文件夹(createIntermediates为YES代表自动创建中间的文件夹) 注意如果要创建的目录已经存在,则本次创建失败
实例:
    //1、定义路径
NSString *path = @"/Users/liwei/Desktop/test/subcc/";
//2、创建对象
NSFileManager *fileManager = [NSFileManager defaultManager];
//3、创建目录
// createDirectoryAtPath 路径
// withIntermediateDirectories 是否自动创建路径中的所有文件夹
// attributes 文件夹属性
// error 错误信息
BOOL flag = [fileManager createDirectoryAtPath:path withIntermediateDirectories:NO attributes:nil error:nil];
if (flag) { NSLog(@"目录创建成功!");
//写入文件
NSString *str =@"测试文件内容";
flag = [str writeToFile:[NSString stringWithFormat:@"%@/1.txt",path] atomically:YES
encoding:NSUTF8StringEncoding error:nil];
if (flag) { NSLog(@"文件写入成功!");
}
}

2、- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;
拷贝,如果目标目录已经存在同名文件,则无法拷贝

3、- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;
移动(剪切)

4、- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error; 删除

5、- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
创建文件

5、NSFileManager文件下载思路

1.发送请求给服务器,要求下载某个文件
2.服务器发出响应,返回文件数据 
3.手机客户端利用NSData来存放服务器返回的文件数据 
4.利用NSFileManager将NSData里面的文件数据写到新的文件中.(createFileAtPath)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值