黑马程序员——Foundation框架——NSFileManager
来源:互联网 发布:cinema 4d软件 编辑:程序博客网 时间:2024/05/03 07:58
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
NSFileManager类
NSFileManager是用来管理文件的,用来进行常见文件夹的操作(拷贝,移动、创建等)。NSFileManager使用了单例模式,使用defaultManager方法来获得单例对象。
1. NSFileManager类常用方法
+ (NSFileManager *)defaultManager //创建文件管理的单例对象
- (BOOL)fileExistsAtPath:(NSString *
)path
//判断路径path是否存在
- (BOOL)fileExistsAtPath:(NSString *
)path
isDirectory:(BOOL *
)isDirectory //判断路径path是否是一个目录
- (BOOL)isReadableFileAtPath:(NSString *
)path //判断文件是否可读
- (BOOL)isWritableFileAtPath:(NSString *
)path //判断文件是否可写
- (BOOL)isDeletableFileAtPath:(NSString *
)path //判断文件是否可删除
常用方法示例代码如下:
//定义一个字符串保存文件路径 NSString *filePath=@"/Users/suise/Pictures/psb.jpg"; //调用defaultManager方法创建一个文件管理的单例对象 NSFileManager *fm=[NSFileManager defaultManager]; //判断该路径是否存在 BOOL isExist=[fm fileExistsAtPath:filePath]; //如果路径存在判读该路径是否是一个目录 if (isExist) { BOOL isDir; [fm fileExistsAtPath:filePath isDirectory:&isDir]; if (isDir) { NSLog(@"This is a directory."); }else{ NSLog(@"This is not a directory."); } } //判断文件是否可读 BOOL isRead=[fm isReadableFileAtPath:filePath]; //判断文件是否可写 BOOL isWriite=[fm isWritableFileAtPath:filePath]; //判断文件是否可删除 BOOL isDelete=[fm isDeletableFileAtPath:filePath];
2. NSFileManager文件访问
NSString *fileDir=@"/Users/suise/Downloads"; //获取文件的属性信息 NSDictionary *dict=[fm attributesOfItemAtPath:filePath error:nil]; //用递归方式获取指定目录下的文件和文件夹 NSArray *arr1=[fm subpathsAtPath:fileDir]; //用非递归方式获取指定目录下的文件和文件夹 NSArray *arr2=[fm subpathsOfDirectoryAtPath:fileDir error:nil]; //获取指定目录下文件及其子目录信息(不再获取子目录的后代信息) NSArray *arr3=[fm contentsOfDirectoryAtPath:fileDir error:nil];
3. NSFileManager文件操作
有创建目录、创建文件、拷贝文件、移动文件、删除文件等操作,示例代码如下:
// 文件操作 //定义一个字符串保存目录路径 NSString *createDir=@"/Users/suise/Downloads"; //判断目录是否已经创建,withIntermediateDirectories参数为YES时,会把路径中缺失的目录一同创建,为NO时,目录中缺失的路径不会创建 BOOL isCreate=[fm createDirectoryAtPath:createDir withIntermediateDirectories:YES attributes:nil error:nil]; NSLog(@"isCreate=%d",isCreate); //定义创建文件的路径 NSString *createFile=@"/Users/suise/Desktop/love.txt"; NSString *str=@"最美的不是下雨天,是与你躲过雨的屋檐"; //把字符串转换成二进制数据 NSData *data=[str dataUsingEncoding:NSUTF8StringEncoding]; //判断文件是否已经被创建 BOOL isCreate2=[fm createFileAtPath:createFile contents:data attributes:nil]; NSLog(@"isCreate2=%d",isCreate2); //copy文件 //定义一个目标路径 NSString *targetPath=@"/Users/suise/Downloads/love.txt"; //把原路径下的文件copy到目标路径下 BOOL isCopy=[fm copyItemAtPath:createFile toPath:targetPath error:nil]; NSLog(@"isCopy=%d",isCopy); //移动文件 targetPath=@"/Users/suise/IOS/love.txt"; BOOL isMove=[fm moveItemAtPath:createFile toPath:targetPath error:nil]; NSLog(@"isMove=%d",isMove); //删除文件 [fm removeItemAtPath:targetPath error:nil];
0 0
- 黑马程序员——Foundation框架——NSFileManager
- 黑马程序员——Foundation框架NSFileManager介绍和用法
- 黑马程序员—Foundation框架之NSFileManager、NSNumber与NSDate
- 黑马程序员——Foundation框架——NSFileManager介绍及使用
- 黑马程序员——Foundation框架
- 黑马程序员——Foundation框架
- 黑马程序员—foundation框架总结
- 黑马程序员—Foundation框架之NSString
- 【黑马程序员】OC-Foundation框架—NSMutableString
- 黑马程序员——[Foundation]Foundation框架01
- ——黑马程序员——OC中Foundation下NSFileManager的使用
- 黑马程序员——Foundation学习之NSNumber\NSValue\NSNull\NSFileManager\NSDate\NSData
- 黑马程序员——Foundation框架——NSString
- 黑马程序员——Foundation框架—字符串方法
- 黑马程序员——Foundation框架—NSArray
- 黑马程序员——Foundation框架—文件操作
- 黑马程序员——OC基础05—Foundation框架
- 黑马程序员——foundation框架之结构体
- lintcode 在O(1)时间复杂度删除链表节点
- Sudoku by Javascript
- LibGDX_2.2: 日志(Log)的输出
- Java静态类使用Bean
- jsp中c标签的详细使用
- 黑马程序员——Foundation框架——NSFileManager
- ====监听textview中输入的变化
- [ExtJS6学习笔记]Ext JS6主题系列 (Classic工具包)
- 转载:Java使用dom4j解析XML
- C/C++的运算符优先级
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- Linux终端命令
- LeetCode P137 Single Number II
- 微信公众号的黑色商业链揭秘