2011-06-20 7 views
3

私はJavaユーティリティー・アプリケーションを利用するobjective-c/cocoaアプリケーションを作成しています。そこで、NSTaskを使ってJavaアプリケーションを呼び出す予定です。私はココアとJavaアプリの間で通信する最も簡単な方法を理解しようとしています。 Javaアプリケーションの標準からxml形式の文字列を送信し、そのデータをデシリアライズして使用するxmlオブジェクトを作成するために使用するココアアプリを入手することは可能ですか?NSTaskの標準出力を使ってxmlファイルを生成することができます

+0

Javaユーティリティアプリケーションのソースコードを制御できますか? Cocoaアプリケーションの実行中にユーティリティが継続的に実行されるはずですか? –

+0

はい、Javaユーティリティは私によって書かれます。 Javaユーティリティは特定のタスクを実行するだけなので、必要に応じて、ココアアプリの実行時に起動されます。 – Derek

答えて

3

NSTaskstandardOutputメソッドを使用できます。それでNSPipeオブジェクトが得られ、をfileHandleForReadingから取得できます。あなたはハンドルに戻ってNSDataオブジェクトを返すだけで、ツリーベースのXML処理をしたい場合はNSXMLDocumentに渡すことができます。それ以外の場合は、イベントベースの解析のためにNSXMLParserを参照してください。両方のXML参照には、対応するガイドがあり便利です。

これはすべて、NSTaskの出発点からのドキュメントのほとんどです。

+0

'NSTask'の' setStandard * 'メソッドは' NSPipe'オブジェクトに加えて 'NSFileHandle'オブジェクトも受け付けます。読み書きしているデータの量がパイプの許容量を超えている場合は、これが有効です。 –

+0

ありがとうございました。私はこれがトリックをすると思います。私はそれを試してみましょう。 – Derek

関連する問題