2012-01-17 10 views
0

さまざまな入力テキストとRTFファイルを参照して出力ファイルを生成するMacアプリケーションを作成しました。そのアプリケーションの一部がこれらのファイルを読み込んで、TXTファイルまたはRTFファイルから「言語的に重要な」文字を抽出し、さらに処理するために解放します。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であるかどうかを確かめようとします。そうであれば、それはさらなる処理のためにファイルの内容を抽出する。そうでなければ、それはストレートテキストであると仮定し、それを使用します。

これは完全に誤って動作している可能性があり、更新する必要があるか、またはこれを行うためのより良い方法があります。

誰もがそこにいると思っていても大変感謝します。

答えて

0

あなたはない、またはあなたがlibencaのようなライブラリを使用することができfile UNIXコマンドのようなRTFs magic numberを使用してファイルの種類を識別してみてください。

ここでは、ファイル解析の一般的な説明とmagic numbersです。

+0

ありがとうございますが、私はこれらの代替案のいずれかが、私が誤って上記で一緒に綴じたものよりもはるかに優れているとは考えていません。 –

関連する問題