Чтение контента из файла - PullRequest
2 голосов
/ 30 июля 2010
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 \ froman \ fcharset0 Times-Roman;}
{\ Colortbl; \ red255 \ green255 \ blue255;}
\ Margl1440 \ margr1440 \ vieww9000 \ viewh8400 \ viewkind0
\ Deftab720
\ Пард \ pardeftab720 \ QL \ qnatural

\ f0 \ fs24 \ cf0 Поток является фундаментальной абстракцией в программировании: последовательность битов, передаваемых последовательно из одной точки в другую. Какао предоставляет три класса для представления потоков и облегчения их использования в ваших программах: NSStream, NSInputStream и NSOutputStream. С помощью экземпляров этих классов вы можете читать данные и записывать данные в файлы и память приложения. Вы также можете использовать эти объекты на основе сокетов

Как отфильтровать эти жирные данные .. ???

Ответы [ 2 ]

1 голос
/ 30 июля 2010

Вы пытаетесь загрузить текст RTF в обычную строку. Вместо этого используйте NSAttributedString или преобразуйте файл в простой текст.

0 голосов
/ 30 июля 2010

Я не знаю, планировали ли вы также редактировать этот текст или просто отображать его, но единственный известный мне способ - это использовать UIWebView

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