1. 程式人生 > >iPhone中如何從Application Bundle中讀取檔案

iPhone中如何從Application Bundle中讀取檔案

首先必須將檔案加入Xcode工程的Resources目錄。然後可以如下訪問檔案,假設檔案為MyFile.txt:

1NSString *filePath = [[NSBundle mainBundle] pathForResource:@"MyFile" ofType:@"txt" ];   

2NSData *myData = [NSData dataWithContentsOfFile:filePath];   

3if (myData) {   

4   // do something useful   

5}

一段將help文字檔案讀入UIWebView的完整示例:

1NSString *filePath = [[NSBundle mainBundle] pathForResource:@"HelpDoc" ofType:@"htm" ];   

2NSData *htmlData = [NSData dataWithContentsOfFile:filePath];   

3if (htmlData) {   

4   [webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@" http://iphoneincubator.com " ]];   

5}

如果想將檔案讀入字串,則可以用UITextView顯示,例如:

1NSString *filePath = [[NSBundle mainBundle] pathForResource:@"important" ofType:@"txt" ];

2if (filePath) {

3   NSString *myText = [NSString stringWithContentsOfFile:filePath];

4   if (myText) {

5       textView.text= myText;

6   }

7}

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSString *filePath = [documentPath stringByAppendingPathComponent:@"test.rtf"];

NSData *fileData = [NSData dataWithContentsOfFile:filePath];

NSString *testStr = [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];

NSLog(@"translate by DATA is : %@", testStr);

或者這樣 :

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSString *filePath = [documentPath stringByAppendingPathComponent:@"test.rtf"];

NSString *fileString = [NSString stringWithContentsOfFile:filePath];