NSFileManager常用的文件方法:

-(NSData*)contentsAtPath:path 从一个文件中读取数据

-(BOLL)createFileAtPath:path contents:(NSData*)data attributes: attr 向一个文件写入数据

-(BOOL)removeItemAtPath:path error:err 删除一个文件

-(BOOL)moveItemAtPath:from toPath:to error:err 重命名或移动一个文件(to 不能是已存在的)

-(BOOL)copyItemAtPath:from toPath:to error:err 复制文件(to 不能是已存在的)

-(BOOL)contentsEqualAtPath:path1 andPath:path2 比较这两个文件的内容

-(BOOL)fileExistsAtPath:path 测试文件是否存在

-(BOOL)isReadableFileAtPath:path 测试文件是否存在,并且是否能执行读操作

-(BOOL)isWritableFileAtPath:path 测试文件是否存在,并且是否能执行写操作

-(NSDictionary*)attributesOfItemAtPath:path error:err 获取文件的属性

属性字典允许你指定要创建的文件的权限,如果将该参数指定为nil,该文件会被设置为默认权限。

1、通过一段程序来对文件进行操作:

  1. //
  2. //  main.m
  3. //  NSFileManager_01
  4. //
  5. //  Created by swinglife on 13-11-10.
  6. //  Copyright (c) 2013年 swinglife. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. int main(int argc, const char * argv[])
  10. {
  11. @autoreleasepool {
  12. //文件名
  13. NSString *fileName = @"testFile";
  14. NSString *fileContent = @"这是文件内容!!!!";
  15. NSData *fileData = [fileContent dataUsingEncoding:NSUTF8StringEncoding];
  16. //创建NSFileManager实例
  17. NSFileManager *fm = [NSFileManager defaultManager];
  18. //创建文件
  19. [fm createFileAtPath:fileName contents:fileData attributes:nil];
  20. //判断文件是否存在 不存在就结束程序
  21. if([fm fileExistsAtPath:fileName]==NO){
  22. NSLog(@"文件不存在");
  23. return 1;
  24. }
  25. //拷贝文件
  26. if([fm copyItemAtPath:fileName toPath:@"newFile" error:NULL]==NO){
  27. NSLog(@"复制失败");
  28. return 2;
  29. }
  30. //测试两个文件是否相同
  31. if([fm contentsEqualAtPath:fileName andPath:@"newFile"]==NO){
  32. NSLog(@"文件不相同");
  33. return 3;
  34. }
  35. //重命名newFile
  36. [fm moveItemAtPath:@"newFile" toPath:@"newFile2" error:NULL];
  37. //获取newFile2的大小
  38. NSDictionary *fileAttr = [fm attributesOfItemAtPath:@"newFile2" error:NULL];
  39. if(fileAttr!=nil){
  40. NSLog(@"文件大小:%llu bytes",[[fileAttr objectForKey:NSFileSize] unsignedLongLongValue]);
  41. }
  42. //删除文件
  43. [fm removeItemAtPath:fileName error:NULL];
  44. //显示newFile2的内容
  45. NSString *data = [NSString stringWithContentsOfFile:@"newFile2" encoding:NSUTF8StringEncoding error:NULL];
  46. NSLog(@"%@",data);
  47. }
  48. return 0;
  49. }

NSFileManager常用的目录方法

-(NSString*)currentDirectoryPath 获取当前目录

-(BOOL)changeCurrentDirectoryPath:path 更改当前目录

-(BOOL)copyItemAtPath:from toPath:to error:err 复制目录结构

-(BOOL)createDirectoryAtPath:path withIntermediateDirectories:(BOOL)flag attributes:attr 创建一个新目录

-(BOOL)fileExistsAtPath:path isDirectory:(BOOL*)flag 测试文件是不是目录(flag中存储结果)

-(NSArray*)contentsOfDirectoryAtPath:path error:err 列出目录内容

-(NSDirectoryEnumerator*)enumeratorAtPath:path 枚举目录的内容

-(BOOL)removeItemAtPath:path error:err 删除空目录

-(BOOL)moveItemAtPath:from toPath:to error:err 重命名或移动一个目录

2、通过一段程序来对目录进行操作:

    1. //
    2. //  main.m
    3. //  NSFileManager_02
    4. //
    5. //  Created by swinglife on 13-11-10.
    6. //  Copyright (c) 2013年 swinglife. All rights reserved.
    7. //
    8. #import <Foundation/Foundation.h>
    9. int main(int argc, const char * argv[])
    10. {
    11. @autoreleasepool {
    12. //文件目录
    13. NSString *dirName = @"testDir";
    14. //创建NSFileManager实例
    15. NSFileManager *fm = [NSFileManager defaultManager];
    16. //获取当前目录
    17. NSString *path = [fm currentDirectoryPath];
    18. NSLog(@"Path:%@",path);
    19. //创建新目录
    20. [fm createDirectoryAtPath:dirName withIntermediateDirectories:YES attributes:nil error:NULL];
    21. //重命名新的目录
    22. [fm moveItemAtPath:dirName toPath:@"newDir" error:NULL];
    23. //更改当前目录到新的目录
    24. [fm changeCurrentDirectoryPath:@"newDir"];
    25. //获取当前工作目录
    26. path = [fm currentDirectoryPath];
    27. NSLog(@"Path:%@",path);
    28. }
    29. return 0;
    30. }

iOS文件和目录操作,iOS文件操作,NSFileManager使用文件操作:的更多相关文章

  1. IOS中获取各个文件的目录路径的方法和NSFileManager类

    转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...

  2. C# 对包含文件或目录路径信息的 System.String 实例执行操作

    在字符串操作中有一类比较特殊的操作,就是对包含文件或目录路径信息的 System.String 实例执行操作.比如根据一个表示路径的字符串获取其代表的文件名称.文件夹路径.文件扩展名等.在很多时候,我 ...

  3. linux文件和目录的删除、新建、移动等操作

    在Linux下进行切换目录   cd 在Linux下查看当前目录下的内容   ls.  ll.  ls -al 如何显示当前命令所在的目录路径   pwd 在Linux下创建目录   mkdir 在L ...

  4. chattr 改变文件、目录属性 (chmod、passwd等涉及文件修改的命令提示Operation not permitted)

    与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. lsattr查看文件或目录属性 chattr命令的用法:chattr [ -RVf ] [ ...

  5. (22)zip命令:压缩文件或目录&&unzip命令:解压zip文件

    1.zip 命令基本格式如下: [root@localhost ~]#zip [选项] 压缩包名 源文件或源目录列表 注意,zip 压缩命令需要手工指定压缩之后的压缩包名,注意写清楚扩展名,以便解压缩 ...

  6. iOS中获取各种文件的目录路径的方法

    我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...

  7. C#对Windows文件/文件夹/目录的一些操作总结

    1.   在一个目录下创建一个文件夹 if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); ...

  8. 八. 输入输出(IO)操作6.文件与目录管理

    目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 Fi ...

  9. Linux文件和目录操作管理命令

    1.pwd:显示工作目录路径 -p:显示实际物理路径 -l:显示链接路径 2.cd:更改工作目录路径 cd:进入用户主目录 cd~:进入用户主目录 cd-:返回进入此目录之前所在的目录 cd..:返回 ...

  10. Linux学习——操作文件与目录

    1. ls:列出文件及目录信息. 命令格式:ls [选项] ... 常用选项: -a 显示指定目录下所有子目录与文件,包括隐藏文件. -A 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.” ...

随机推荐

  1. SVN访问版本库精细的权限控制

    SVN精细权限控制本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内容,不是 ...

  2. nyoj----522 Interval (简单树状数组)

    Interval 时间限制:2000 ms  |  内存限制:65535 KB 难度:4   描述 There are n(1 <= n <= 100000) intervals [ai, ...

  3. 深入浅出Android开发之Surface介绍

    一 目的 本节的目的就是为了讲清楚Android中的Surface系统,大家耳熟能详的SurfaceFlinger到底是个什么东西,它的工作流程又是怎样的.当然,鉴于SurfaceFlinger的复杂 ...

  4. 3.Java基础:String对象的创建和使用

    一.常用的创建方式 String s1=”abc“: String s2=”abc“: s1==s2    ==> true 解析:s1和s2指向的是同一个字符串池地址 二.不常用的创建方式 S ...

  5. 转 web前端性能分析--分析篇

    通过具体实施后就可以获得第一手的web前端性能的数据了,然后每次新版本都跑,这就会获得大量的数据,为性能分析提供了基础的输入,同时应该还要综合使用多种工具去从不同的方向收集数据:比如showslow同 ...

  6. Python type() 函数

    描述 type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象.类似isinstance() isinstance() 与 type() 区别: type() 不会认为子类是一 ...

  7. [转]Hspice 语法手册

    一.HSPICE基础知识Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准.目前, ...

  8. mysql 更新数据表的记录

    对于表里的记录值,可以通过update 命令进行更改,语法如下: UPDATE tablename SET field1=value1,field2.=value2,……fieldn=valuen [ ...

  9. java web中jsp常用标签

    在jsp页面开发过程中,经常需要使用JSTL(Java Server Pages Standard Tag Library)标签开开发页面,是看起来更加的规整舒服. JSTL主要提供了5大类标签库: ...

  10. haproxy 制作使用ssl

    http://www.oschina.net/translate/haproxy-ssl-termation-pass-through