郝萌主倾心贡献,尊重作者的劳动成果。请勿转载。

假设文章对您有所帮助,欢迎给作者捐赠。支持郝萌主,捐赠数额任意。重在心意^_^

我要捐赠: 点击捐赠

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-使用文件】的更多相关文章

  1. Objective-C之成魔之路【0-序章】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 C语言首创 ...

  2. Objective-C之成魔之路【5-选择结构】

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 Objec ...

  3. 《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖

    1. 简介 fixture是pytest的一个闪光点,pytest要精通怎么能不学习fixture呢?跟着我一起深入学习fixture吧.其实unittest和nose都支持fixture,但是pyt ...

  4. Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 构造方法 ...

  5. Objective-C之成魔之路【13-预处理程序】

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 预处理提供 ...

  6. Objective-C之成魔之路【19-归档】

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 在Obje ...

  7. Objective-C之成魔之路【10-继承性】

    郝萌主倾心贡献.尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 继承性是面 ...

  8. Objective-C之成魔之路【8-訪问成员变量和属性】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 訪问成员变 ...

  9. Objective-C之成魔之路【7-类、对象和方法】

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 Objec ...

随机推荐

  1. 不容错过的UI设计素材大合集

    免费PSD素材 TETHR by InVision 这是出自InVision的8款PSD文件,其中包含了100个模板和超过500个UI控件.来自InVision和UI8的设计师一同协作完成了这套UI ...

  2. 【分享】深入浅出WPF全系列教程及源码

    本人10月份提出离职,可是交接非常慢,预计年底才会交接完,趁着交接之际,自学了一下WPF,由于这是微软未来的发展趋势,自WIN7以来包含前不久公布的WIN8,核心还是WPF,在此,将自己的学习成果做一 ...

  3. Linux统计文件/目录数量ls -l | grep "^-" | wc -l匹配开头和结尾

    Linux统计文件数量 ls -l | grep "^-" | wc -l “^-”  一般文件 “^d” 目录文件 shell/vim中^表示开头 cat repatterns ...

  4. Swift - 类型属性(类静态属性)和类方法(类静态方法)

    1,结构体struct和枚举enum的静态属性,静态方法使用static关键字 1 2 3 4 5 6 7 8 9 10 struct Account {      var amount : Doub ...

  5. 谈VC++对象模型

    一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节.对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释.Inside the C++ Object Model ...

  6. How to append files to a .tar archive using Apache Commons Compress?(转)

    I created a copy of the tar archive and copied to entire content to it. Then I delete the old tar ar ...

  7. 此三层非彼三层——MVC&UBD

    学习了三年编程了,到如今这个阶段,開始接触架构,開始认识架构,怎样设计一个程序的结构,学名称"架构模式"(architectural pattern).个人经历告诉我这在编程中是一 ...

  8. [docker]coreOS与atomic对照

    声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! 摘自https://majo ...

  9. [C++]new和delete

    Date:2014-1-5 Summary: C++中的动态内存创建与释放(这里就只记录C++中的new和delete了,其他的C风格操作就略过了) 单独记录new和delete的原因是为了学习时候关 ...

  10. Python逐块读取大文件行数的代码 - 为程序员服务

    Python逐块读取大文件行数的代码 - 为程序员服务 python数文件行数最简单的方法是使用enumerate方法,但是如果文件很大的话,这个方法就有点慢了,我们可以逐块的读取文件的内容,然后按块 ...