黑马程序员-ios学习笔记 Foundation 中的 NSFileManager
2015-08-05 01:17
633 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
NSFileManager
一、定义:NSFileManager是用来管理文件系统的;可以用来进行常见的文件\文件夹操作(拷贝、剪贴、创建等)。
NSFileManager使用了单例模式singleton
使用defaultManager方法可以获得那个单例对象[NSFileManager defaultManager];
二、判断用法
-(BOOL)fileExistsAtPath:(NSString*)path;—>判断path这个文件或文件夹是否存在
-(BOOL)fileExistsAtPath:(NSString*)path isDirectory:(BOOL*)isDirectory
—>判断path这个文件或文件夹是否存在,sDirectory代表是否为文件夹
-(BOOL)isReadableFileAtPath:(NSString*)path;—>判断path这个文件或文件夹是否可读
-(BOOL)isWritableFileAtPath:(NSString*)path;—>判断path这个文件或文件夹是否可写
-(BOOL)isDeletableFileAtPath:(NSString*)path;—>判断path这个文件或文件夹是否可删除
三、文件访问
-(NSDictionary*)attributesOfItemAtPath:(NSString*)path error:(NSError**)error;
—>获得path这个文件\文件夹的属性
-(NSArray*)subpathsAtPath:(NSString*)path;
—>查找给定路径下的所有子路径,返回一个数组,深度查找,不限于当前层,也会查找到package内容。
-(NSArray*)subpathsOfDirectoryAtPath:(NSString*)path error:(NSError**)error;
—>获得path的所有子路径(后代路径),上面两个方法功能一样。
-(NSArray*)contentsOfDirectoryAtPath:(NSString*)path error:(NSError**)error;
—>获得path的当前子路径(path下的所有直接子内容,path必须是一个目录)。
-(NSData*)contentsAtPath:(NSString*)path;—>获得文件内容
四、文件操作
-(BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL) createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error;
->只能创建文件夹(createIntermediates为YES代表自动创建中间的文件夹) 注意如果要创建的目录已经存在,则本次创建失败
- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;
—>拷贝,如果目标目录已经存在同名文件,则无法拷贝
- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;
—>移动(剪切)
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error; —>删除
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
NSFileManager
一、定义:NSFileManager是用来管理文件系统的;可以用来进行常见的文件\文件夹操作(拷贝、剪贴、创建等)。
NSFileManager使用了单例模式singleton
使用defaultManager方法可以获得那个单例对象[NSFileManager defaultManager];
NSFileManager *fm=[NSFileManager defaultManager]; //创建文件管理的单例对象
二、判断用法
-(BOOL)fileExistsAtPath:(NSString*)path;—>判断path这个文件或文件夹是否存在
NSFileManager *fm=[NSFileManager defaultManager]; //创建文件管理的单例对象 NSString *filePath=@"/Users/lanlan/Desktop/arr.plist"; //获取文件路径 BOOL isYES=[fm fileExistsAtPath:filePath]; //判断文件是否存在 NSLog(@"%d",isYES); //存在为yes, 不存在为no
-(BOOL)fileExistsAtPath:(NSString*)path isDirectory:(BOOL*)isDirectory
—>判断path这个文件或文件夹是否存在,sDirectory代表是否为文件夹
NSFileManager *fm=[NSFileManager defaultManager]; //创建文件管理的单例对象 NSString *filePath=@"/Users/lanlan/Desktop/arr.plist"; //获取文件路径 BOOL isDir; [fm fileExistsAtPath:filePath1 isDirectory:&isDir]; //判断是否这个目录是否存在 if (isDir) { NSLog(@"这是一个目录"); }else{ NSLog(@"这不是一个目录"); }
-(BOOL)isReadableFileAtPath:(NSString*)path;—>判断path这个文件或文件夹是否可读
-(BOOL)isWritableFileAtPath:(NSString*)path;—>判断path这个文件或文件夹是否可写
-(BOOL)isDeletableFileAtPath:(NSString*)path;—>判断path这个文件或文件夹是否可删除
isYES=[fm isReadableFileAtPath:filePath]; //判断文件是否是可读 isYES=[fm isWritableFileAtPath:filePath]; //判断文件是否是可写 isYES=[fm isDeletableFileAtPath:filePath]; //判断文件是否可删除 NSLog(@"%d",isYES);
三、文件访问
-(NSDictionary*)attributesOfItemAtPath:(NSString*)path error:(NSError**)error;
—>获得path这个文件\文件夹的属性
NSDictionary *dict=[fm attributesOfItemAtPath:filePath error:nil]; NSLog(@"%@",dict);
-(NSArray*)subpathsAtPath:(NSString*)path;
—>查找给定路径下的所有子路径,返回一个数组,深度查找,不限于当前层,也会查找到package内容。
-(NSArray*)subpathsOfDirectoryAtPath:(NSString*)path error:(NSError**)error;
—>获得path的所有子路径(后代路径),上面两个方法功能一样。
NSArray *subPaths=[fm subpathsAtPath:filePath1]; //使用递归的方式获取当前目录及子目录下的文件及文件夹 subPaths=[fm subpathsOfDirectoryAtPath:filePath1 error:nil]; //不是用递归方式,只获取当前目录下子目录信息 NSLog(@"%@",subPaths);
-(NSArray*)contentsOfDirectoryAtPath:(NSString*)path error:(NSError**)error;
—>获得path的当前子路径(path下的所有直接子内容,path必须是一个目录)。
-(NSData*)contentsAtPath:(NSString*)path;—>获得文件内容
四、文件操作
-(BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL) createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error;
->只能创建文件夹(createIntermediates为YES代表自动创建中间的文件夹) 注意如果要创建的目录已经存在,则本次创建失败
NSString *creatDirPath=@"/Users/lanlan/Desktop/aaa/cc/love.xml"; //目录 BOOL isYES1=[fm createDirectoryAtPath:creatDirPath withIntermediateDirectories:YES attributes:nil error:nil]; //创建目录 if (isYES1) { NSLog(@"成功"); } //创建文件 NSString *str=@"我是一只小小鸟"; //写文件的内容 NSData *data=[str dataUsingEncoding:NSUTF8StringEncoding]; //对写入的内容进行转换 BOOL isYES2=[fm createFileAtPath:creatDirPath contents:data attributes:nil]; //创建文件 NSLog(@"%d",isYES2);
- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;
—>拷贝,如果目标目录已经存在同名文件,则无法拷贝
- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;
—>移动(剪切)
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error; —>删除
NSString *creatDirPath=@"/Users/lanlan/Desktop/aaa/cc/love.xml"; //目录 NSString *targetPath=@"/Users/lanlan/Desktop/aaa/love.xml"; //目录 [fm copyItemAtPath:creatDirPath toPath:targetPath error:nil]; //拷贝文件 [fm moveItemAtPath:creatDirPath toPath:targetPath error:nil]; //移动文件 [fm removeItemAtPath:targetPath error:nil]; //删除文件
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
相关文章推荐
- Objective-C的内省(Introspection)用法小结
- Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect实例分析
- Objective-C中NSLog输出格式大全
- Swift调用Objective-C编写的API实例
- Swift、Objective-C、Cocoa混合编程设置指南
- Objective-c代码如何移植为Swift代码 Objective-c代码转移到Swift过程介绍
- Swift调用Objective-C代码
- objective-c中生成随机数的方法
- 在Swift中使用Objective-C编写类、继承Objective-C类
- Swift能代替Objective-C吗?
- Objective-C 消息传递机制详解
- 在一个项目中同时使用Swift和Objective-C代码混合编程的方法
- vm安装mac os x 10.7 lion
- objective-c(一)
- objective-c(二)
- objective-c(三)
- objective-c(四)-基本数据类型以及循环和选择结构
- objective-c(六)文件分离,合成存取方法,方法多参数,局部变量,self使用(未完成)
- windows下objective-c的cocoa框架编程,可以有图形界面哟