2010-07-30 182 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或将文件转换为纯文本。