2010-07-30 180 views
2
NSString *contentPath = [[NSBundle mainBundle] pathForResource:@"test2" ofType:@"rtf"]; 
NSData *databuffer; 

NSFileHandle *file = [NSFileHandle fileHandleForReadingAtPath:contentPath]; 

if (file == nil) 
    NSLog(@"Failed to open file"); 

databuffer = [file readDataToEndOfFile]; 

[file closeFile]; 

NSString *contentText =[[NSString alloc] initWithData:databuffer encoding:NSUTF8StringEncoding]; 

debugLog(@"%@",contentText); 

[textView setText:contentText]; 
[contentText release]; 

//[textView setText:[bookObj commentary]]; 
[self.view addSubview:textView]; 

輸出:閱讀內容

我\ ansicpg1252 \ cocoartf1038 \ cocoasubrtf320
{\ fonttbl \ F0 \弗羅曼\ fcharset0時報羅馬;}
{\ colortbl; \ red255 \ green255 \ blue255;}
\ margl1440 \ margr1440 \ vieww9000 \ viewh8400 \ viewkind0
\ deftab720
\ PARD \ pardeftab720 \ QL \ qnatural

\ f0 \ fs24 \ cf0流是編程中的基本抽象:從一個點串行傳輸到另一個點的一系列比特。 Cocoa提供了三個類來表示流,並促進它們在你的程序中的使用:NSStream,NSInputStream和NSOutputStream。通過這些類的實例,您可以從文件和應用程序內存讀取數據,並將數據寫入文件和應用程序內存。您還可以在基於套接字的位置使用這些對象

如何過濾這些粗體數據..?

+0

作業? ______ – kennytm 2010-07-30 11:06:51

回答

0

我不知道,如果你正準備編輯這個文本以及或只是顯示它,但我所知道的唯一可行的方法是使用一個UIWebView

NSString *path = [[NSBundle mainBundle] pathForResource:@"test2" ofType:@"rtf"]; 
NSURL *url = [NSURL fileURLWithPath:path]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webview loadRequest:request]; 
1

您正在嘗試RTF文本加載到一個普通的串。改爲使用NSAttributedString或將文件轉換爲純文本。