黑马程序员——Foundation框架入门:OC中的文件管理

这篇博客介绍了Objective-C中使用Foundation框架的NSFileManager进行文件管理的基本操作,包括文件存在的判断、文件读写权限检查、文件创建、访问、复制、移动以及删除。通过实例展示了如何高效地管理文件和目录。
摘要由CSDN通过智能技术生成

NSFileManager:用于进行常见的文件、文件夹操作,如拷贝、剪切、创建等。NSFileManager使用的是单例模式。

NSFileManager基本使用

  • 判断文件是否存在

      1. 存储文件路径:

    NSString *filePath = @”/User/Michael/Desktop/arr.plist”;

    1. 调用defaultManager创建一个文件管理的单例对象:

    NSFileManager *fm = [NSFileManager defaultManager];

    1. 判断是否存在这个文件:

    BOOL isYES = [fmfileExistsAtPath:filePath];

  • 判断是否是一个目录

BOOL isPath;
[fm fileExistsAtPath:filePath isDirectory:&isPath];
if(isPath){
NSLog(@"是目录");
}else{
NSLog(@"不是目录")
}
  • 判断文件是否可读

[fm isReadableFileAtPath:filePath];

  • 判断文件是否可写

[fm isWritableFileAtPath:filePath];

  • 判断文件是否可删除

[fm isDeletatbleFileAtPath:filePath];

NSFileManager文件访问

创建文件对象:NSFileManager *fm = [NSFileManager defaultManager];

保存路径:NSString *filePath =@”/User/Michael/Desktop/arr.plist”;

  • 获取文件信息(属性)

获取属性:NSDictionary *dict = [fm attributesOfItemAtPath:filePatherror:nil];

  • 获取指定目录下的文件及子目录

NSArray *subPaths = [fmsubpathsAtPath:filePath];//递归方式,效率较低。

subPaths = [fmsubpathsOfDirectoryAtPath:filePath error: nil];//非递归方式,效率较高,通常使用这个方法。

  • 获取指定目录下的子目录(只获取子目录,不获取其他后代目录)

subPaths = [fm contentsOfDirectoryAtPath:filePath error:nil];

  • 如何创建目录
NSString *createDirPath = @"/User/Michael/Desktop/test";
BOOL isYES = [fm createDirectoryAtPath:createDirPath withIntermediateDirectories:NO attributes:nil error:nil];

关于”withIntermediateDirectories:YES\NO”,当为YES时,创建所给目录的所有父目录,例如如果不存在Desktop文件夹,那么也会创建该文件夹。如果选择NO,则只有父目录都存在才会创建末端目录。

  • 如何创建文件
NSString *str = @"新建文件测试";
NSString *createDirPath =@"/User/Michael/Desktop/test/file.txt";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
BOOL isYES = [fm createFileAtPath:createDirPath content:dataattributes:nil];
  • 如何copy文件

NSString *targetPath =@”/User/Michael/Desktop/test/test1/file.txt”;

[fm copyItemAtPath:createDirPath toPath:targetPath error:nil];

  • 如何移动文件

[fm moveItemAtPath:createDirPath toPath:targetPath error:nil];

  • 如何删除文件

[fm removeItemAtPath:targetPath error:nil];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值