Objective-C之成魔之路【16-使用文件】
郝萌主倾心贡献,尊重作者的劳动成果。请勿转载。
假设文章对您有所帮助,欢迎给作者捐赠。支持郝萌主,捐赠数额任意。重在心意^_^
我要捐赠: 点击捐赠
Cocos2d-X源代码下载:点我传送
语言的设计主要是被应用于实践,
而Objective-C应用最广的地方就是Mac OS X或iOS的Foundation框架。
Foundation框架同意你利用文件系统对文件或文件夹运行基本操作,这些基本操作是由NSFileManager类提供的。
使用NSFileHandle类提供的方法,能够打开文件并对文件运行多次读/写操作。
NSFileHandle类的方法能够实现例如以下功能:
1)打开一个文件,运行读、写或更新(读取和写入)操作。
2)在文件里查找指定位置。
3)从文件里读取特定数目的字节。或将指定数目的字节写入文件。
NSFileHandle类提供的方法也可用于各种设备或套接字。
非常多语言中使用的框架也有类似的FileHandle。
NSURL类同意在应用中使用URL方法。
这个和Java中的URL差点儿相同。
NSBundle类提供了同意在应用中使用包(bundle)的方法。包含搜索包中的特定资源。
这个东西更类似于Android应用中的Resource或R之类干的活。
管理文件和文件夹使用NSFileManager,文件或文件夹使用文件的路径名为唯一标识。
完整路径也称为绝对路径,以斜线(/)開始。
特殊的代字符(~)作为用户主文件夹的缩写。
当前文件夹为".";
父文件夹为“..”;
这些概念和Linux里面一样。
每一个文件方法都是对NSFileManager对象的调用,
而NSFileManager对象是通过向类发送一条defaultManager消息创建。
iOS的设备上。程序是执行在沙盒中的,它严格限定了文件的訪问。
假设在设备中执行这个程序,会看到当前文件夹是/,
这说明应用的根文件夹是在执行它的沙盒中,并非整个iOS设备文件文件夹的根。
能够这么理解,每个应用程序都是一个进程。这样它的作用范围就是进程的上下文。
沙盒就是进程。
这个和Android是一样的道理。
Android中。每一个应用都执行在一个进程中,每一个应用都有自己的pid,即进程号。
也不能随便訪问别的进程的数据或者奔溃时影响到其他应用。
这就是沙盒的原理。
事实上,这些同样点都是由于它们两个生态的最底层OS都是unix类似的原理所致。
熟悉Unix的同学都知道。进程。用户这些概念,事实上就是沙盒的概念。
使用路径用NSPathUtilities.h
components是一个NSArray对象,它包括路径中每一部分的字符串对象。
Path是一个字符串对象。它指定文件的路径;ext是路径扩展名的字符串对象。
如@“mp3”
为了保存数据直到下一次执行程序仍可以使用。可以使用Documents文件夹。
每一个iOS应用都有自己的Documents文件夹供数据写入。
应用中的Caches文件夹也能够用来存储一些数据。
对于iOS开发说。Apple鼓舞开发人员存储持久化数据到云端。
对于这些Documents的理解。能够这么理解,每一个应用程序都是一个用户。
在类Unix系统中。每个用户事实上都是在home文件夹(Linux系统的home)下的不同用户文件夹分开。
不同username目录中都有主要的目录,Documents,Downloads这类的。
简言之,应用程序一般都属于某一个用户(UserId),某一个进程(Pid)。
并且普通情况下不同应用程序的用户标识和进程标识都是不一样的。这就是所谓沙盒原理。
NSProcessInfo类中的argments方法返回一个字符串对象数组。
数组的第一个元素是进程名称,其余的元素是在命令行中输入的參数。
这个类主要用来记录当前进程的信息。
事实上,我们都知道。unix下的进程入口都是main函数。
这也就是为什么NSProcessInfo会记录命令行中的输入參数的原因。
命令行中的输入參数都是通过main函数的入參传入的。
基本文件操作:NSFileHandle,可用于标准输入、标准输出、标准错误和控设备。
应该注意NSFileHandle类并没有提供创建文件的功能。
创建文件须使用FileManager的方法来创建。
另外,Unix系统下,应注意,打开文件进行写入并不会截断文件。须要自己完毕截断。
NSURL对象并非一个字符串(如@“http://blog.csdn.net/haomengzhu”)。
可是使用URLWithString:方法能够由一个字符串对象创建出NSURL对象。
NSBundle类:
当创建一个应用时,系统存储了应用相关联的全部数据(当中包含图片、本地化字符串、图标等),
将这些内容放入一个称为应用包(application bundle)的包中。
在应用中加入一个资源(如图片或文本文件),仅需将文件拖到Xcode的左边窗格中。
mainBundle方法给出了应用包所在的文件夹。这种方法在Mac OS X和iOS中都适用。
Objective-C之成魔之路【16-使用文件】的更多相关文章
- Objective-C之成魔之路【0-序章】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 C语言首创 ...
- Objective-C之成魔之路【5-选择结构】
郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 Objec ...
- 《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
1. 简介 fixture是pytest的一个闪光点,pytest要精通怎么能不学习fixture呢?跟着我一起深入学习fixture吧.其实unittest和nose都支持fixture,但是pyt ...
- Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 构造方法 ...
- Objective-C之成魔之路【13-预处理程序】
郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 预处理提供 ...
- Objective-C之成魔之路【19-归档】
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 在Obje ...
- Objective-C之成魔之路【10-继承性】
郝萌主倾心贡献.尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 继承性是面 ...
- Objective-C之成魔之路【8-訪问成员变量和属性】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 訪问成员变 ...
- Objective-C之成魔之路【7-类、对象和方法】
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 Objec ...
随机推荐
- .atitit.web 推送实现解决方式集合(3)----dwr3 Reverse Ajax
.atitit.web 推送实现解决方式集合(3)----dwr3 Reverse Ajax 1. 原理实现 1 2. Page 添加配置.添加回调函数dwr.engine.setActiveRev ...
- Linux - 文件基本操作管理
文件基本操作管理 复制文件和目录 格式: Cp 源文件(文件夹) 新目标文件名(文件夹) 相同目录下,指定文件名. 不同目录下,不需要指定文件名. 参数: –r:递归复制整个目录树. –v:再复制 ...
- 《Linux命令行与shell脚本编程大全》 第十八章 学习笔记
第十八章:初识sed和gawk 文本处理 sed编辑器 sed编辑器可以基于输入到命令行的或是存储在命令文本文件中的命令来处理数据流中的数据. 它每次读取一行,用提供的编辑器命令匹配数据.按命令中指定 ...
- php与文件操作
一.目录操作 首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: <?php $base_dir="fil ...
- MFC 单文档中动态添加菜单项和响应菜单事件
新建一个单文档程序 在查看菜单项中增加两个子菜单,分别为隐藏工具栏(ID_HIDE),新建菜单(ID_NEWMENU) 在Resource.h中增加一个ID_NEWMENU宏 #define ID_N ...
- Lucene.Net 2.3.1开发介绍 —— 三、索引(五)
原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(五) 话接上篇,继续来说权重对排序的影响.从上面的4个测试,只能说是有个直观的理解了.“哦,是!调整权重是能影响排序了,但是好像没办法来 ...
- phabricator在mac上的搭建(转)
环境:OS X Yosemite 10.10.5 前提:phabricator主要是由php写的,而且是以website方式运行的,所以mac上要先安装好 php + nginx(或apache) + ...
- perl的一些基本用法
ReadLine support available (try 'install Bundle::CPAN')cpan>进入cpan的shell,好了,我为了安装spamassassin,需要安 ...
- 设计模式(三)-- 适配器模式(Adapter)
适配器模式(Adapter) 考虑一个记录日志的应用,由于用户对日志记录的要求很高,使得开发人员不能简单地采用一些已有的日志工具或日志框架来满足用户的要求,而需要按照用户的要求重新开发新的日志管理系统 ...
- js中获取jsp中的参数
碰到一个问题需要再js中根据jsp中request的参数判断执行那段代码 第一种写法: if('${method}'=="add"){js代码段1}else{js代码段2} 第二种 ...