自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS學(xué)習(xí)之路 文件操作

移動開發(fā) iOS
本文介紹的是iOS學(xué)習(xí)之路 文件操作,主要講述了文件的常用操作,我們來看詳細內(nèi)容。

iOS學(xué)習(xí)之路 文件操作是本文要介紹對內(nèi)容,不多說,直接進入話題。因為應(yīng)用是在沙箱(sandbox)中的,在文件讀寫權(quán)限上受到限制,只能在幾個目錄下讀寫文件

Documents:應(yīng)用中用戶數(shù)據(jù)可以放在這里,iTunes備份和恢復(fù)的時候會包括此目錄 tmp:存放臨時文件,iTunes不會備份和恢復(fù)此目錄,此目錄下文件可能會在應(yīng)用退出后刪除
Library/Caches:存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應(yīng)用退出刪除。

在Documents目錄下創(chuàng)建文件

代碼如下:

  1. NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory   
  2.                                             , NSUserDomainMask   
  3.                                             , YES);   
  4. NSLog(@"Get document path: %@",[paths objectAtIndex:0]);   
  5.  
  6. NSString *fileName=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"myFile"];   
  7. NSString *content=@"a";   
  8. NSData *contentData=[content dataUsingEncoding:NSASCIIStringEncoding];   
  9. if ([contentData writeToFile:fileName atomically:YES]) {   
  10.     NSLog(@">>write ok.");   

可以通過ssh登錄設(shè)備看到Documents目錄下生成了該文件。

上述是創(chuàng)建ascii編碼文本文件,如果要帶漢字,比如:

  1. NSString *fileName=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"myFile"];   
  2. NSString *content=@"更深夜靜人已息";   
  3. NSData *contentData=[content dataUsingEncoding:NSUnicodeStringEncoding];   
  4. if ([contentData writeToFile:fileName atomically:YES]) {   
  5.     NSLog(@">>write ok.");   

如果還用ascii編碼,將不會生成文件。這里使用NSUnicodeStringEncoding就可以了。

通過filezilla下載到創(chuàng)建的文件打開,中文沒有問題:

iOS學(xué)習(xí)之路 文件操作

在其他目錄下創(chuàng)建文件

如果要指定其他文件目錄,比如Caches目錄,需要更換目錄工廠常量,上面代碼其他的可不變:

  1. NSArray *paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory   
  2.                                                 , NSUserDomainMask   
  3.                                                 , YES); 

使用NSSearchPathForDirectoriesInDomains只能定位Caches目錄和Documents目錄。

tmp目錄,不能按照上面的做法獲得目錄了,有個函數(shù)可以獲得應(yīng)用的根目錄:

  1. NSHomeDirectory() 

也就是Documents的上級目錄,當然也是tmp目錄的上級目錄。那么文件路徑可以這樣寫:

  1. NSString *fileName=[NSHomeDirectory() stringByAppendingPathComponent:@"tmp/myFile.txt"]; 

或者,更直接一點,可以用這個函數(shù):

  1. NSTemporaryDirectory()  

不過生成的路徑將可能是:

  1. …/tmp/-Tmp-/myFile.txt 

使用資源文件

在編寫應(yīng)用項目的時候,常常會使用資源文件,比如:

iOS學(xué)習(xí)之路 文件操作

安裝到設(shè)備上后,是在app目錄下的:

iOS學(xué)習(xí)之路 文件操作

以下代碼演示如何獲取到文件并打印文件內(nèi)容:

  1. NSString *myFilePath = [[NSBundle mainBundle]   
  2.                         pathForResource:@"f"   
  3.                         ofType:@"txt"];   
  4. NSString *myFileContent=[NSString stringWithContentsOfFile:myFilePath encoding:NSUTF8StringEncoding error:nil];   
  5. NSLog(@"bundel file path: %@ \nfile content: %@",myFilePath,myFileContent); 

代碼運行效果:

iOS學(xué)習(xí)之路 文件操作

小結(jié):iOS學(xué)習(xí)之路 文件操作的內(nèi)容介紹完了,希望本文對你有所幫助!

本文編寫時參考了:http://www.servin.com/iphone/iPhone-File-IO.html

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-21 11:25:13

iOS 窗口 事件

2011-07-25 16:31:51

iOS XML 文件

2011-07-26 09:32:08

iPhone 模擬器

2011-07-21 17:11:15

iOS 日期 間隔

2011-03-17 11:08:49

Java SE

2014-07-28 14:04:26

2014-06-18 09:55:29

iOS開發(fā)者學(xué)習(xí)Android

2009-10-16 15:48:43

如何學(xué)習(xí)Java

2011-06-17 10:19:11

Qt QWidge QSetting

2011-06-17 09:58:26

Qt Chapter QObject

2011-03-21 13:28:14

MongoDB文件存取

2011-07-20 10:31:49

Cocoa Slider 顏色

2021-05-24 16:01:35

人工智能AI機器學(xué)習(xí)

2011-08-23 17:06:03

2017-04-14 14:57:03

機器學(xué)習(xí)學(xué)習(xí)資源

2009-07-01 14:32:37

JSP文件操作

2009-09-27 18:06:00

CCNACCNPcisco

2011-07-25 10:03:06

Objective-C 委托

2011-07-19 15:55:09

Xcode Interface Builder

2015-07-20 13:56:59

SDN
點贊
收藏

51CTO技術(shù)棧公眾號