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];