日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Objective-C之成魔之路【16-使用文件】

發(fā)布時(shí)間:2025/6/15 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Objective-C之成魔之路【16-使用文件】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

郝萌主傾心貢獻(xiàn),尊重作者的勞動(dòng)成果。請(qǐng)勿轉(zhuǎn)載。

假設(shè)文章對(duì)您有所幫助,歡迎給作者捐贈(zèng)。支持郝萌主,捐贈(zèng)數(shù)額任意。重在心意^_^?

我要捐贈(zèng):?點(diǎn)擊捐贈(zèng)

Cocos2d-X源代碼下載:點(diǎn)我傳送


語(yǔ)言的設(shè)計(jì)主要是被應(yīng)用于實(shí)踐,

而Objective-C應(yīng)用最廣的地方就是Mac OS X或iOS的Foundation框架。


Foundation框架同意你利用文件系統(tǒng)對(duì)文件或文件夾運(yùn)行基本操作,這些基本操作是由NSFileManager類提供的。

使用NSFileHandle類提供的方法,能夠打開文件并對(duì)文件運(yùn)行多次讀/寫操作。

NSFileHandle類的方法能夠?qū)崿F(xiàn)例如以下功能:

1)打開一個(gè)文件,運(yùn)行讀、寫或更新(讀取和寫入)操作。

2)在文件里查找指定位置。

3)從文件里讀取特定數(shù)目的字節(jié)。或?qū)⒅付〝?shù)目的字節(jié)寫入文件。


NSFileHandle類提供的方法也可用于各種設(shè)備或套接字。

非常多語(yǔ)言中使用的框架也有類似的FileHandle。

NSURL類同意在應(yīng)用中使用URL方法。

這個(gè)和Java中的URL差點(diǎn)兒相同。

NSBundle類提供了同意在應(yīng)用中使用包(bundle)的方法。包含搜索包中的特定資源。

這個(gè)東西更類似于Android應(yīng)用中的Resource或R之類干的活。


管理文件和文件夾使用NSFileManager,文件或文件夾使用文件的路徑名為唯一標(biāo)識(shí)。

完整路徑也稱為絕對(duì)路徑,以斜線(/)開始。

特殊的代字符(~)作為用戶主文件夾的縮寫。

當(dāng)前文件夾為".";

父文件夾為“..”;

這些概念和Linux里面一樣。


每一個(gè)文件方法都是對(duì)NSFileManager對(duì)象的調(diào)用,

而NSFileManager對(duì)象是通過(guò)向類發(fā)送一條defaultManager消息創(chuàng)建。

iOS的設(shè)備上。程序是執(zhí)行在沙盒中的,它嚴(yán)格限定了文件的訪問(wèn)。

假設(shè)在設(shè)備中執(zhí)行這個(gè)程序,會(huì)看到當(dāng)前文件夾是/,

這說(shuō)明應(yīng)用的根文件夾是在執(zhí)行它的沙盒中,并非整個(gè)iOS設(shè)備文件文件夾的根。

能夠這么理解,每個(gè)應(yīng)用程序都是一個(gè)進(jìn)程。這樣它的作用范圍就是進(jìn)程的上下文。

沙盒就是進(jìn)程。

這個(gè)和Android是一樣的道理。

Android中。每一個(gè)應(yīng)用都執(zhí)行在一個(gè)進(jìn)程中,每一個(gè)應(yīng)用都有自己的pid,即進(jìn)程號(hào)。

也不能隨便訪問(wèn)別的進(jìn)程的數(shù)據(jù)或者奔潰時(shí)影響到其他應(yīng)用。

這就是沙盒的原理。

事實(shí)上,這些同樣點(diǎn)都是由于它們兩個(gè)生態(tài)的最底層OS都是unix類似的原理所致。

熟悉Unix的同學(xué)都知道。進(jìn)程。用戶這些概念,事實(shí)上就是沙盒的概念。


使用路徑用NSPathUtilities.h

components是一個(gè)NSArray對(duì)象,它包括路徑中每一部分的字符串對(duì)象。

Path是一個(gè)字符串對(duì)象。它指定文件的路徑;ext是路徑擴(kuò)展名的字符串對(duì)象。

如@“mp3”


為了保存數(shù)據(jù)直到下一次執(zhí)行程序仍可以使用。可以使用Documents文件夾。

每一個(gè)iOS應(yīng)用都有自己的Documents文件夾供數(shù)據(jù)寫入。

應(yīng)用中的Caches文件夾也能夠用來(lái)存儲(chǔ)一些數(shù)據(jù)。

對(duì)于iOS開發(fā)說(shuō)。Apple鼓舞開發(fā)人員存儲(chǔ)持久化數(shù)據(jù)到云端。


對(duì)于這些Documents的理解。能夠這么理解,每一個(gè)應(yīng)用程序都是一個(gè)用戶。

在類Unix系統(tǒng)中。每個(gè)用戶事實(shí)上都是在home文件夾(Linux系統(tǒng)的home)下的不同用戶文件夾分開。

不同username目錄中都有主要的目錄,Documents,Downloads這類的。

簡(jiǎn)言之,應(yīng)用程序一般都屬于某一個(gè)用戶(UserId),某一個(gè)進(jìn)程(Pid)。

并且普通情況下不同應(yīng)用程序的用戶標(biāo)識(shí)和進(jìn)程標(biāo)識(shí)都是不一樣的。這就是所謂沙盒原理。


NSProcessInfo類中的argments方法返回一個(gè)字符串對(duì)象數(shù)組。

數(shù)組的第一個(gè)元素是進(jìn)程名稱,其余的元素是在命令行中輸入的參數(shù)。

這個(gè)類主要用來(lái)記錄當(dāng)前進(jìn)程的信息。

事實(shí)上,我們都知道。unix下的進(jìn)程入口都是main函數(shù)。

這也就是為什么NSProcessInfo會(huì)記錄命令行中的輸入?yún)?shù)的原因。

命令行中的輸入?yún)?shù)都是通過(guò)main函數(shù)的入?yún)魅氲摹?/span>


基本文件操作:NSFileHandle,可用于標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤和控設(shè)備。

應(yīng)該注意NSFileHandle類并沒(méi)有提供創(chuàng)建文件的功能。

創(chuàng)建文件須使用FileManager的方法來(lái)創(chuàng)建。

另外,Unix系統(tǒng)下,應(yīng)注意,打開文件進(jìn)行寫入并不會(huì)截?cái)辔募m氁约和戤吔財(cái)唷?/span>


NSURL對(duì)象并非一個(gè)字符串(如@“http://blog.csdn.net/haomengzhu”)。

可是使用URLWithString:方法能夠由一個(gè)字符串對(duì)象創(chuàng)建出NSURL對(duì)象。


NSBundle類:

當(dāng)創(chuàng)建一個(gè)應(yīng)用時(shí),系統(tǒng)存儲(chǔ)了應(yīng)用相關(guān)聯(lián)的全部數(shù)據(jù)(當(dāng)中包含圖片、本地化字符串、圖標(biāo)等),

將這些內(nèi)容放入一個(gè)稱為應(yīng)用包(application bundle)的包中。

在應(yīng)用中加入一個(gè)資源(如圖片或文本文件),僅需將文件拖到Xcode的左邊窗格中。

mainBundle方法給出了應(yīng)用包所在的文件夾。這種方法在Mac OS X和iOS中都適用。

總結(jié)

以上是生活随笔為你收集整理的Objective-C之成魔之路【16-使用文件】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。