从文件中读取内容

时间:2010-07-30 08:36:42

标签: iphone objective-c ipad rtf

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

输出:

  

I \ ansicpg1252 \ cocoartf1038 \ cocoasubrtf320
  {\ fonttbl \ f0 \ froman \ fcharset0 Times-Roman;}
  {\ colortbl; \ red255 \ green255 \ blue255;}
  \ margl1440 \ margr1440 \ vieww9000 \ viewh8400 \ viewkind0
  \ deftab720
  \ PARD \ pardeftab720 \ QL \ qnatural

     

\ f0 \ fs24 \ cf0 流是编程的基本抽象:从一个点到另一个点串行传输的一系列位。 Cocoa提供了三个类来表示流并促进它们在程序中的使用:NSStream,NSInputStream和NSOutputStream。通过这些类的实例,您可以从文件和应用程序内存中读取数据并将数据写入文件和应用程序内存。您还可以在基于套接字的

中使用这些对象

如何过滤那些粗体数据.. ???

2 个答案:

答案 0 :(得分:1)

您正在尝试将RTF文本加载到纯字符串中。请改用NSAttributedString或将文件转换为纯文本。

答案 1 :(得分:0)

我不知道您是否打算编辑此文本或只是显示它,但我知道的唯一可行方法是使用UIWebView

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