NSFileManager的基本使用

NSFileManager:用来操作磁盘上的文件/文件夹,主要对它们进行创建、删除、复制、拷贝、移动以及设置和获取属性

常用方法

//单例模式创建对象
NSFileManager *manager = [NSFileManager defaultManager];

NSString *path1 = @"/Users/frank/Desktop/Demo";
NSString *path2 = @"/Users/frank/Desktop/demo.txt";

//判断指定的文件或者文件夹在磁盘上是否真实存在
BOOL isExist = [manager fileExistsAtPath:path1];

//判断指定的路径是否真实的存储在磁盘上,并且判断这个路径是文件夹路径还是文件路径
BOOL flag =NO;
BOOL ressult = [manager fileExistsAtPath:path1 isDirectory:&flag];

//判断指定的文件夹或者文件是否可以读取
BOOL isRead = [manager isReadableFileAtPath:path2];

//判断指定的文件夹或者文件是否可以写入
BOOL isWriter = [manager isWritableFileAtPath:path2];

//判断指定的文件夹或者文件是否可以删除
BOOL isDelete = [manager isDeletableFileAtPath:path2];

//获取指定文件或者文件夹的属性信息(通过key,可以拿到特定的信息)
NSDictionary *dict = [manager attributesOfItemAtPath:path2 error:nil];

//获取指定目录下的所有的文件和目录(包括子目录的子目录)
NSArray *arr1 = [manager subpathsAtPath:path1];

//获取指定目录下的所有子目录和文件(不包括子目录的子目录)
NSArray *arr2 = [manager contentsOfDirectoryAtPath:path1 error:nil];

//在指定的目录创建文件
NSData *data = [@"你好" dataUsingEncoding:NSUTF8StringEncoding];
BOOL isSucceed = [manager createFileAtPath:@"/Users/frank/Desktop/hello.txt" contents:data attributes:nil];

//在指定的目录创建文件夹
/**
  第1个参数:路径
  第2个参数:YES就会连续创建文件夹;NO就不会做连续创建
  第3个参数:指定属性,nil为系统默认属性
  第4个参数:错误
*/
BOOL isSucceed1 = [manager createDirectoryAtPath:@"/Users/frank/Desktop/test"        
          withIntermediateDirectories:NO attributes:nil error:nil];

//拷贝文件
BOOL isSucc = [manager copyItemAtPath:@"/Users/frank/Desktop/hello.txt" toPath:@"/Users/frank/Desktop/test/hello.txt" error:nil];

//移动文件,文件的重命名(文件移动到原来的目录,名称改变)
BOOL isSucc1 = [manager moveItemAtPath:@"/Users/frank/Desktop/hello.txt" toPath:@"/Users/frank/Desktop/demo/hello.txt" error:nil];

//删除文件
BOOL isSucc2 = [manager removeItemAtPath:@"/Users/frank/Desktop/hello.txt" error:nil];

OC统计load的耗时主要是通过计算开始加载数据的时间和加载完成的时间之间的差值来得到的。在OC中,我们可以使用NSFileManagerNSURLSession等类来实现load的操作并计算其耗时。 首先,我们可以使用NSFileManager的`defaultManager`方法来获取一个文件管理器实例。然后,使用文件管理器的`fileExistsAtPath:`方法可以判断要加载的文件是否存在。这个方法返回一个布尔值,若为真则文件存在,否则不存在。 接下来,我们可以使用NSURLSession的相关类和方法来加载数据。通过创建一个NSURLSession实例,并使用NSURLSessionDataTask的`dataTaskWithURL:completionHandler:`方法来创建一个数据任务,该任务用于从指定的URL地址异步加载数据。然后,可以使用`resume`方法来开始执行任务。当任务完成后,会调用completionHandler中的回调函数,在回调函数内部可以计算加载耗时。 在回调函数中,我们可以使用NSDate类来记录加载完成的时间,并用该时间减去开始加载的时间,就可以得到加载耗时。可以使用NSDate的`date`方法来获取当前时间,然后使用`timeIntervalSinceDate:`方法计算时间差。 最后,我们可以将加载耗时以统计数据的方式保存或显示出来。可以使用NSLog来输出到控制台,也可以使用UILabel或其他UI组件来在界面上展示。 综上所述,以上是使用OC统计load的耗时的基本步骤。具体实现还需根据具体的场景和需求来确定具体的代码逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值