Objective-C( Foundation框架 一 NSFileManager)
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)的更多相关文章
- Objective - c Foundation 框架详解2
Objective - c Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...
- Objective-C( Foundation框架 一 常见的结构体)
常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...
- iOS开发系列—Objective-C之Foundation框架
概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...
- Objective-C语言Foundation框架
Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成.iOS开发,会使用Coc ...
- iOS - OC Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- iOS - Swift Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明
iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...
- Foundation框架的小总结
一.Foundation框架—结构体 一.基本知识 Foundation框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数 ...
- OC 知识:Foundation 框架及相关类详尽总结
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...
随机推荐
- html(二)
1无序列表 ul是没有前后顺序的信息列表. <ul> <li></li> <li></li> ...... </ul> ul在网 ...
- 对C++虚函数的理解
关于类不断被继承的过程,从整体上看,是一个从抽象到逐渐具体化的过程,基类可以是非常非常抽象的东西,而最终实例化的派生类就非常具体了. 虚函数的意义,就在于定义了一个从最早的基类到最终的派生类都可能会用 ...
- ubuntu常见问题及解决
1.反复关机后自动重启. 联网状态下输入以下命令. sudo apt-get install laptop-mode-tools 2.win和ubuntu双系统下,怎么修改启动顺序和等待时间? 1.开 ...
- (转)深入浅出 妙用Javascript中apply、call、bind
原文连接 深入浅出 妙用Javascript中apply.call.bind 网上文章虽多,大多复制粘贴,且晦涩难懂,我希望能够通过这篇文章,能够清晰的提升对apply.call.bind的认识,并且 ...
- ssh远程执行命令
ssh -p $port $user@$p 'cmd' $port : ssh连接端口号 $user: ssh连接用户名 $ip:ssh连接的ip地址 cmd:远程服务器需要执行的操作 ssh -p ...
- 深入了解try catch
@Test public void testWeiXin(){ System.out.println(task()); } private boolean task(){ try { int i = ...
- javaScript 验证表单提交
<script type="text/javascript"> function $(id) { return document.getEl ...
- BirdError
//#include<curses.h> #include<stdlib.h> #include<signal.h> #include<time.h> ...
- validate插件深入学习-03validate()方法配置项
validate()方法配置项 rules 定义校验规则 messages 定义提示信息 上面这两个已经介绍过了 rules里隐藏的属性depends,只有符合条件(返回true)的时候才会执行 su ...
- 【解决方法】magento paypal快速结账 不跳转
magento paypal Express Checkout(快速结账) 页面不跳转到Paypal的解放方法 我使用的magento 1.9.0.1 版本的,Paypal 快速结账都已经设置完毕,但 ...