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. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...
随机推荐
- checkbox的readonly效果
用disabled会使控件整个灰掉,checkbox没有readonly属性,可以用下面的写法: <input id="check1" type="checkbox ...
- 处理session跨域几种的方案
常用跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态.两种情况:一种9streets.cn和a.9streets.cn之间,另一种是 ...
- [DataBase] MongoDB (7) MongoDB 索引
MongoDB 索引 1. 建立索引 唯一索引db.passport.ensureIndex( {"loginname": 1}, {"unique": tru ...
- EF INNER JOIN,LEFT JOIN,GROUP JOIN
IQueryable<TOuter>的扩展方法中提供了 INNER JOIN,GROUP JOIN但是没有提供LEFT JOIN GROUP JOIN适用于一对多的场景,如果关联的GROU ...
- Linux 视频设备驱动V4L2最常用的控制命令
http://blog.csdn.net/shaolyh/article/details/6583226 Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02) 命令 功能 VIDIOC ...
- div+css 设计下拉
css样式 <style type="text/css"> <!-- /* www.divcss5.com CSS下拉菜单实例 */ * { margin:; p ...
- 20161127-emmagee
Android 自动化测试 Emmagee Emmagee 是一个性能测试小工具 用来监控指定被测应用在使用过程中占用机器的CPU, 内存,流量资源的性能小工具 阅读目录 Emmagee 介绍 Emm ...
- dom4j如何解析XML文件
最近在 一些对xml文件的操作,下面简单写一个dom4j解析xml文件并将其封装到一个javabean中的例子,只是具有针对性的,不是通用的,仅供参考哦~~ 首先说:dom4j是一个java的XML ...
- 【干货】微信场景之H5页面制作免费工具大集合
营销代有手段出,各领风骚数百天.要说现在哪些营销方式最能传播,屡屡刷爆朋友圈的H5页面肯定就是首当其冲的,提到H5页面,就立马想到"围住神经猫",上线微信朋友圈3天的时间便创造了用 ...
- Mac上配置Privoxy
此文档适用于走Shadowsocks代理,想利用Privoxy将主机作为代理服务器的用户. 0.安装完Privoxy后,打开终端命令. 1.打开Privoxy的配置文件config: cd /usr/ ...