Я написал приложение для Mac, которое перекрестно ссылается на различные входные текстовые и RTF-файлы для создания выходных файлов. Часть этого приложения читает эти файлы и извлекает «лингвистически значимые» символы из файлов TXT или RTF и выпускает их для дальнейшей обработки.
Я использую для этого следующий метод. Это работает хорошо, но мне интересно, возможно, я либо иду далеко или делаю что-то совершенно ненужное.
inputdatafile = [NSString stringWithContentsOfFile: fullpath encoding: NSASCIIStringEncoding error:&error];
// test rtf wrapper code right here //
inputdataNSData=[inputdatafile dataUsingEncoding:NSUTF8StringEncoding];
wrapper = [[NSFileWrapper alloc] initRegularFileWithContents:inputdataNSData];
rtfData = [[NSAttributedString alloc]
initWithRTF:[wrapper regularFileContents] documentAttributes:nil];
inputdatafilefromrtf = [rtfData string];
if (inputdatafilefromrtf) {
inputdatafile = [NSMutableString stringWithString:inputdatafilefromrtf];};
inputdatafile загружается с содержимым файла. Программа не знает, что это за текстовый файл, и пытается определить, является ли он RTF. Если это так, он извлекает содержимое файла для дальнейшей обработки. Если нет, он предполагает, что это простой текст и использует это.
Возможно, это работает совершенно случайно и требует обновления или, возможно, есть более эффективные способы сделать это.
Буду очень признателен за любые мысли, которые есть у кого-либо.