NSFileManager

用来管理文件系统的

它可以用于常见的文件,文件夹操作(拷贝,剪切,创建)

NSFileManager使用了单例模式(Singleton)

使用defaultManager可以获得那个单例对象:[NSFileManager defaultManager];

NSFileManager用于判断

// 创建一个文件,且内容为hahdhahkf
NSString *arr = @"hahdhahkf";
[arr writeToFile: @"/Users/cloudwalk/Desktop/arr.plist" atomically:YES encoding:NSUTF8StringEncoding error:nil];
// NSFileManager用于判断
NSString *filepath = @"/Users/cloudwalk/Desktop/arr.plist";
// 判断文件是否存在
// 调用defaultManagr 创建一个文件管理的单例模式
// 单例模式,在程序运行期间,只有一个对象存在
NSFileManager *manager = [NSFileManager defaultManager];
//文件是否存在,存在返回1,不存在返回0
 BOOL isYES = [manager fileExistsAtPath:filepath]; 
NSLog(@"%d",isYES); // 文件是否可读
isYES = [manager isReadableFileAtPath:filepath];
NSLog(@"%d",isYES); // 文件是否可写
isYES = [manager isWritableFileAtPath:filepath];
NSLog(@"%d",isYES);

判断是否是目录

        NSString *str = @"dsahgifg";
[str writeToFile:@"/Users/cloudwalk/Desktop/strr,plist" atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSString *filePath = @"/Users/cloudwalk/Desktop/strr,plist"; NSFileManager *manager = [NSFileManager defaultManager];
// 文件是否存在,,存在返回1,不存在返回0
BOOL isYes = [manager fileExistsAtPath:filePath];
NSLog(@"%d",isYes); if (isYes)
{
BOOL isDir;
// 判断是不是目录
[manager fileExistsAtPath:filePath isDirectory:&isDir]; if (isDir) {
NSLog(@"shi");
}else{
NSLog(@"bushi");
}
}

获取文件信息

        NSFileManager *fm = [NSFileManager defaultManager];
NSString *filepath = @"/Users/cloudwalk/Desktop/test.plist";
NSString *dirPath = @"/Users/cloudwalk/Desktop/gaoli/代码/";
// 如何获得文件信息(属性)
NSDictionary *dy = [fm attributesOfItemAtPath:filepath error:nil];
NSLog(@"%@",dy);
NSLog(@"%@ %@",[dy objectForKey:@"NSFileOwnerAccountName"], dy[@"NSFileOwnerAccountName"]); // 获取指定目录下文件及子目录
// 使用递归的方式,获取当前所有文件夹及子目录下的文件
NSArray *subPaths = [fm subpathsAtPath:dirPath];
NSLog(@"subPaths = %@",subPaths);
// 不使用递归的方式,获取当前所有文件夹及子目录下的文件
subPaths = [fm subpathsOfDirectoryAtPath:dirPath error:nil];
NSLog(@"subPaths = %@",subPaths);
// 获取指定目录下文件信息(不再获取子目录下文件)
subPaths = [fm contentsOfDirectoryAtPath:dirPath error:nil];
NSLog(@"subPaths = %@",subPaths);

创建目录,文件,copy文件,移动文件,删除文件

       // 创建文件管理对象
NSFileManager *fm = [NSFileManager defaultManager]; // 创建路径
NSString *createPath = @"/Users/cloudwalk/Desktop/aaa/win.txt"; // 创建目录是否成功
//fm createDirectoryAtPath:@"路径" withIntermediateDirectories:YES会创建缺失的目录/NO不会创建缺失的目录 attributes:nil error:错误对象
BOOL isYES =[fm createDirectoryAtPath:createPath withIntermediateDirectories:YES attributes:nil error:nil];
if (isYES) {
NSLog(@"成功");
} // 如何创建文件

      NSString *str = @"我一定会考进HEIMA";

      NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

        BOOL isYes;
//fm createFileAtPath:@"路径" contents:NSData类型的数据/处理二进制数据的类 attributes:文件的属性的字典NSDictionary
isYes = [fm createFileAtPath:createPath contents:data attributes:nil];
if (isYes) {
NSLog(@"%d",isYes);
}
// copy文件
NSString *targetPath = @"/Users/cloudwalk/Desktop/gaoli/haha.txt";
isYes = [fm copyItemAtPath:createPath toPath:targetPath error:nil];
NSLog(@"%d",isYes); // 移动文件
NSString *targetPath = @"/Users/cloudwalk/Desktop/haha.txt";
[fm moveItemAtPath:createPath toPath:targetPath error:nil]; // 删除文件
NSString *targetPath = @"/Users/cloudwalk/Desktop/haha.txt";
[fm removeItemAtPath:targetPath error:nil];

NSFileManager 文件下载思路

1.发送请求给服务器,要求下载某个文件

2.服务器发出响应,返回文件数据

3.手机客户端利用NSData来存放服务器返回的文件数据

4.利用NSFileManager将NSData里面的文件数据写到新的文件中(createFilecreateFileAtPath)

Objective-C( Foundation框架 一 NSFileManager)的更多相关文章

  1. Objective - c Foundation 框架详解2

    Objective - c  Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...

  2. Objective-C( Foundation框架 一 常见的结构体)

    常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...

  3. iOS开发系列—Objective-C之Foundation框架

    概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...

  4. Objective-C语言Foundation框架

    Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成.iOS开发,会使用Coc ...

  5. iOS - OC Foundation 框架

    前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...

  6. iOS - Swift Foundation 框架

    前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...

  7. iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明

    iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...

  8. Foundation框架的小总结

    一.Foundation框架—结构体 一.基本知识 Foundation框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数 ...

  9. OC 知识:Foundation 框架及相关类详尽总结

    本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...

随机推荐

  1. NOI 动态规划题集

    noi 1996 登山 noi 8780 拦截导弹 noi 4977 怪盗基德的滑翔翼 noi 6045 开餐馆 noi 2718 移动路线 noi 2728 摘花生 noi 2985 数字组合 no ...

  2. Editplus配置VC++(2) 与/d1reportSingleClassLayout

    前篇文章:Editplus配置VC++(1) 及相关注意事项 VC++有两个隐含编译选项/d1reportSingleClassLayout和/d1reportAllClassLayout   /d1 ...

  3. 数组类型与sizeof与指针的引用

    以char类型为例: char a[100];     //a类型为char[100]    &a类型为 char (*)[100]    *a类型为char char *p = a;     ...

  4. [转]Part 3: Understanding !PTE - Non-PAE and X64

    http://blogs.msdn.com/b/ntdebugging/archive/2010/06/22/part-3-understanding-pte-non-pae-and-x64.aspx ...

  5. 2016年12月30日 星期五 --出埃及记 Exodus 21:25

    2016年12月30日 星期五 --出埃及记 Exodus 21:25 burn for burn, wound for wound, bruise for bruise.以烙还烙,以伤还伤,以打还打 ...

  6. javascript各种宽高

    参考: http://www.w3cschool.cc/jsref/dom-obj-all.html http://www.cnblogs.com/wen12128/archive/2012/05/2 ...

  7. webstorm 配置scss的问题

    第一种方法(ruby方法) 先安装ruby,在windows/system32目录下 1.先查询源是什么 gem sources 2.移除原有的源头 gem sources -r http://xxx ...

  8. 按年、季度、月分组&&计算日期和时间的函数

    Mysql 按年.季度.月分组 按月度分组: select DATE_FORMAT(i.created_at, '%Y-%m月')...................GROUP BY DATE_FO ...

  9. yum安装nginx

    1.在/etc/yum.repos.d/目录下创建一个源配置文件ngxin.repo: cd /etc/yum.repos.d/ vim nginx.repo 填写如下内容: [nginx] name ...

  10. Kerberos是怎么工作的?

    Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证. 采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证. 关键要素 ...