Foundation框架-07 NSFileManager文件操作类

Foundation框架-07 NSFileManager文件操作类


NSFileManager文件操作类

1.基本概念

  • 顾名思义, NSFileManager是用来管,理文件系统的,它可以用来进行常见的文件\文件夹操作
  • NSFileManager使用了单例模式,使用defaultManager方法可以获得那个单例对象
    • [NSFileManager defaultManager];

2.常用方法

  • 判断文件夹或文件是否存在
NSFileManager *manager = [NSFileManager defaultManager];
BOOL flag = [manager fileExistsAtPath:@"/Users/xxx/Desktop/abc];
NSLog(@"flag = %i", flag);
  • 判断一个文件是否存在并判断是否是一个文件夹
    • 注意该方法的返回值是说明传入的路径对应的文件或文件夹是否存在
    • 第二个参数是用于保存判断结果的,如果是一个目录,那么赋值就会为YES,如果不是就赋值为NO
BOOL dir = NO;
BOOL flag = [manager fileExistsAtPath:@"/Users/xxx/Desktop/abc" isDirectory:&dir];
  • 获取文件或文件夹的属性
NSDictionary *info = [manager attributesOfItemAtPath:@"/Users/xxx/Desktop/abc" error:nil];
  • 获取文件夹中所有的文件
// 注意:contentsOfDirectoryAtPath方法有一个弊端, 只能获取当前文件夹下所有的文件, 不能获取子文件夹下面的文件
NSArray *res = [manager contentsOfDirectoryAtPath:@"/Users/xxx/Desktop/abc" error:nil];
NSArray *res = [manager subpathsAtPath:@"/Users/xxx/Desktop/abc"];
NSArray *res = [manager subpathsOfDirectoryAtPath:@"/Users/xxx/Desktop/abc" error:nil];
  • 创建文件夹
// createDirectoryAtPath: 告诉系统文件夹需要创建到什么位置
// withIntermediateDirectories: 如果指定的文件中有一些文件夹不存在, 是否自动创建不存在的文件夹
// attributes: 指定创建出来的文件夹的属性
// error: 是否创建成功, 如果失败会给传入的参数赋值
// 注意: 该方法只能用于创建文件夹, 不能用于创建文件
BOOL flag = [manager createDirectoryAtPath:@"/Users/xxx/Desktop/abc/lxs" withIntermediateDirectories:YES attributes:nil error:nil];
  • 创建文件
// createFileAtPath: 指定文件创建出来的位置
// contents : 文件中的内容
// attributes: 创建出来的文件的属性
// NSData : 二进制数据
// 注意: 该方法只能用于创建文件,不能用于创建文件夹
NSString *str = @"测试";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    [manager createFileAtPath:@"/Users/xxx/Desktop/abc.txt" contents:data attributes:nil];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值