日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Objective-C之成魔之路【16-使用文件】

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

目前創(chuàng)新互聯(lián)建站已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、桂東網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

如果文章對您有所幫助,歡迎給作者捐贈,支持郝萌主,捐贈數(shù)額隨意,重在心意^_^ 

我要捐贈: 點擊捐贈

Cocos2d-X×××:點我傳送


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

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


Foundation框架允許你利用文件系統(tǒng)對文件或目錄執(zhí)行基本操作,這些基本操作是由NSFileManager類提供的。

使用NSFileHandle類提供的方法,可以打開文件并對文件執(zhí)行多次讀/寫操作。

NSFileHandle類的方法可以實現(xiàn)如下功能:

1)打開一個文件,執(zhí)行讀、寫或更新(讀取和寫入)操作。

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

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


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

很多語言中使用的框架也有類似的FileHandle。

NSURL類允許在應(yīng)用中使用URL方法。這個和Java中的URL差不多。

NSBundle類提供了允許在應(yīng)用中使用包(bundle)的方法,包括搜索包中的特定資源。

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


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

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

特殊的代字符(~)作為用戶主目錄的縮寫。

當(dāng)前目錄為".";

父目錄為“..”;

這些概念和Linux里面一樣。


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

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

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

如果在設(shè)備中運行這個程序,會看到當(dāng)前目錄是/,

這說明應(yīng)用的根目錄是在運行它的沙盒中,并不是整個iOS設(shè)備文件目錄的根。

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

這個和Android是一樣的道理。

Android中,每個應(yīng)用都運行在一個進(jìn)程中,每個應(yīng)用都有自己的pid,即進(jìn)程號。

也不能隨便訪問別的進(jìn)程的數(shù)據(jù)或者奔潰時影響到其它應(yīng)用。這就是沙盒的原理。

其實,這些相同點都是因為它們兩個生態(tài)的最底層OS都是unix類似的原理所致。

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


使用路徑用NSPathUtilities.h

components是一個NSArray對象,它包含路徑中每一部分的字符串對象,

Path是一個字符串對象,它指定文件的路徑;ext是路徑擴(kuò)展名的字符串對象。如@“mp3”


為了保存數(shù)據(jù)直到下一次運行程序仍能夠使用,可以使用Documents目錄。

每個iOS應(yīng)用都有自己的Documents目錄供數(shù)據(jù)寫入。

應(yīng)用中的Caches目錄也可以用來存儲一些數(shù)據(jù)。

對于iOS開發(fā)說,Apple鼓勵開發(fā)者存儲持久化數(shù)據(jù)到云端。


對于這些Documents的理解,可以這么理解,每個應(yīng)用程序都是一個用戶。

在類Unix系統(tǒng)中,每一個用戶其實都是在home目錄(Linux系統(tǒng)的home)下的不同用戶文件夾分開。

不同用戶名文件夾中都有基本的文件夾,Documents,Downloads這類的。

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

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


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

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

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

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

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

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


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

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

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

另外,Unix系統(tǒng)下,應(yīng)注意,打開文件進(jìn)行寫入并不會截斷文件,需要自己完成截斷。


NSURL對象并不是一個字符串(如@“http://blog.csdn.net/haomengzhu”),

但是使用URLWithString:方法可以由一個字符串對象創(chuàng)建出NSURL對象。


NSBundle類:

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

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

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

mainBundle方法給出了應(yīng)用包所在的目錄。這個方法在Mac OS X和iOS中都適用。


網(wǎng)站標(biāo)題:Objective-C之成魔之路【16-使用文件】
URL網(wǎng)址:http://www.dlmjj.cn/article/jhhddh.html