今天,用到了文件的管理,发现自己又忘得差不多了。屋里有个苍蝇,老是在眼前晃来晃去,好是烦人。

  用到了两个地方:

  1. 创建文件夹;

  2. 移动文件

功能还有很多,今天先总结两个!

  1. 创建文件夹;

 //测试是否是目录
BOOL isDirectory; //因为第2个参数是BOOL *,是一个指针,而不是一个值。
NSString * path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]
stringByAppendingPathComponent:@"abc.txt"];
BOOL isExist = [[NSFileManager defaultManager]fileExistsAtPath:path isDirectory:&isDirectory];
NSLog(@"isExist = %d----isDirectory = %d",isExist,isDirectory); if (!isExist & !isDirectory) {
//创建新的文件夹
BOOL createSuccess = [[NSFileManager defaultManager]createDirectoryAtPath:path withIntermediateDirectories:YES
attributes:nil error:nil];
NSLog(@"createSuccess = %d",createSuccess);
}

  

  2. 移动文件

-(BOOL)contentsAtPath:path                                           //从一个path所指定的文件上读取数据
-(BOOL)createFileAtPath:path contents:(NSData*)data attributes:attr //向一个path所指向的文件上写入数据data
-(BOOL)removeFileAtPath:path handler:handler //删除一个path所指定的文件
-(BOOL)movePath:from toPath:to handler:handler //重命名或移动一个文件。from是源文件,to是目标文件

在网上看到其他人的总结,粘在这:

-(BOOL)contentsAtPath:path                                           //从一个path所指定的文件上读取数据
-(BOOL)createFileAtPath:path contents:(NSData*)data attributes:attr //向一个path所指向的文件上写入数据data
-(BOOL)removeFileAtPath:path handler:handler //删除一个path所指定的文件
-(BOOL)movePath:from toPath:to handler:handler //重命名或移动一个文件。from是源文件,to是目标文件
-(BOOL)contentsEqualAtPath:path1 andPath:path2 //比较两个文件的内容是相同
-(BOOL)fileExistsAtPath:path //判断path所指定的文件是否存在
-(BOOL)isReadableFileAtPath:path //判断path所指定的文件是否存在,能否进行读取操作
-(BOOL)isWritableFileAtPath:path //判断path所指定的文件是否存在,能否进行写入操作
-(NSDictionary*)fileAttributesAtPath:path traverseLink:(BOOL)flag //获取path所指定的文件的属性,返回一个字典类型
-(BOOL)changeFileAtributes:attr atPath:path //更改path所指定的文件的属性 NSFileManager目录操作
-(NSString*)currentDirectoryPath //获取当前目录
-(BOOL)changeCurrentDirectoryPath:path //更改当前目录
-(BOOL)copyPath:from toPath:to handler:handler //复制目录结构
-(BOOL)createDirectoryAtPath:path attributes:attr //创建一个新的目录
-(BOOL)fileExistsAtPath:path isDirectory:(BOOL*)flag //判断是不是目录
-(NSArray*)directoryContentsAtPath:path //列出目录内容
-(NSDirectoryEnumerator*)enumeratorAtPath:path //枚举目录的内容
-(BOOL)removeFielPath:path handler:handler //删除一个空目录
-(BOOL)movePath:from toPath:to handler:handler //重命名或移动一个目录 -(NSString*)NSUserName //返回当前用户目录
-(NSString*)NSFullUserName //返回当前用户的完整目录
-(NSString*)NSHomeDirectory //返回当前用户主目录路经
-(NSString*)NSHomeDirectoryForUser:(NSString*)user //返回user用户的主目录
-(NSString*)NSTemporaryDirectory //返回可以用于创建临时文件的临时目录 +(NSString*)pathWithComponents:components //根据components中的值构造路经
-(NSArray*)pathComponents //柝分路经,获得各个部分,并放入数组
-(NSString*)lastPathComponents //提取路经中最后一个组成部分(一般就是文件名)
-(NSString*)pathExtension //提取文件的扩展名
-(NSString*)stringByAppendingPathComponents:path //将path增加到现有路经的尾部
-(NSStirng*)stringByAppendingPathExtension:ext //将ext扩展名增加到尾部
-(NSString*)stringByDeletingLastPathComponents //删除路经的最后一个组成部分
-(NSString*)stringByDeletingPathExtension //删除最后的扩展名
-(NSString*)stringByExpandingTildeInPath //将路经中的各个"~"符号转换为用户主目录(~)或者为一个指定用户的主目录(~user)
-(NSString*)stringByStandardizingPath //解析~,父日目录(..)、当前目录(.)和符号链接来返回一个标准化路经

  

  

iOS NSFileManager的更多相关文章

  1. iOS NSFileManager对沙盒文件及目录添加删除操作

    iOS 使用 NSFileManager对沙盒里面的文件和目录,增加,修改,删除操作: - (void)viewDidLoad { [super viewDidLoad]; self.title = ...

  2. ios NSFileManager和NSFileHandle(附:获取文件大小 )

    转自 http://blog.csdn.net/zhibudefeng/article/details/7795946 //file 文件操作 NSFileManager  常见的NSFileMana ...

  3. iOS NSFileManager 使用详解

    使用NSFileManager 文件系统接口 允许访问文件夹内容 创建 重命名 删除文件 修改文件和文件属性,以及Finder对所有文件系统任务执行的一般操作. 访问NSFileManager,使用共 ...

  4. ios NSFileManager创建目录、文件

    NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *str1 = NSHomeDirectory(); _fi ...

  5. ios NSFileManager 用法详解

    转自:http://blog.csdn.net/ios_che/article/details/7287266 iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过ipho ...

  6. IOS 创建目录/文件夹

    •IOS 应用目录简介 个文件夹:Documents, Library和 tmp.Library包含Caches.Preferences目录. Documents:应用中用户数据可以放在这里,iTun ...

  7. ios 文件操作(NSFileManager)

    IOS的沙盒机制,应用只能访问自己应用目录下的文件,iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容. iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内. ...

  8. IOS管理文件和目录NSFileManager

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  9. IOS 开发文件操作——NSFileManager

    转自:http://blog.csdn.net/xyz_lmn/article/details/8968213,留着方便查阅 iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像androi ...

随机推荐

  1. TYVJ P1024 外星人的密码数字

    做题记录:2016-08-16 20:09:30 描述     XXXX年突然有外星人造访,但大家语言不通,不过科学家们经过研究发现外星人用26个英文字母组成的单词中最长不降子序列的长度来表述数字,且 ...

  2. Redis错误配置详解

    在使用Redis做缓存时,应用往往能得到非常高的性能.然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制.复制超时等. Redis提供了许多提高和维护高效内存数据库使用的工具.在无需额 ...

  3. js for循环,为什么一定要加var定义i变量

    我知道,有些人(譬如之前的我)写js的for循环时,都不习惯加上var,这当然是语法允许的.譬如下面. for(i=0;i<10;i++){//就不写成: var i=0 alert(i); } ...

  4. php代码审计基础笔记

    出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 --------------------------- ...

  5. php任何优化的方式下这样第个列表都是再次查询

    我们的代码经理是这样的:计算总行数:select count(*) from tablename where -..查询列表select * from tablename where - limit- ...

  6. POJ 1988 Cube Stacking(带权并查集)

    Cube Stacking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 23678   Accepted: 8299 Ca ...

  7. iOS 用宏定义写一个单例(Singleton)

    用如下方法定义单例 @interface singleton_interface(ClassName); @end 实现单例在 @implemention singleton_implemention ...

  8. 《Pro Git》笔记2:Git基础操作

    第二章 Git基础 Git基础包括:版本库的创建和获取,文件添加修改提交等基本操作,状态查询,远程版本库管理和同步,打标签. 1.取得项目的Git版本库 基于Git的工作流要以Git版本库为基础,即可 ...

  9. ThinkPHP 学习笔记 ( 五 ) 数据验证

    根据官网的教程 ( http://www.thinkphp.cn/info/171.html ),数据验证的使用静态定义方式 ( 以 regex 为例 ) 无法验证数据: 而采用动态验证则正常: 控制 ...

  10. SVN客户端常用命令

    1. 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: cd /home/www  #进入准备获取的项目路径 svn checkout svn: ...