iPhone中如何从Application Bundle中读取文件

来源:互联网 发布:量化交易软件 编辑:程序博客网 时间:2024/06/09 20:41

首先必须将文件加入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];