1

私の宿題は、Java プログラム内から .​​jar を呼び出すことですが、入力ストリームを取得して結果を読み取り可能なものに返すことができません。これが私が最初にしたことです:

InputStream in = proc.getInputStream();
System.out.println(in);

しかし、それはうまくいきませんでした。私はいくつかの異なるバリエーションを見つけました:

BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
System.out.println(input);

しかし、それもうまくいきませんでした。どちらのシナリオでも、java.io.BufferedReader@2ce908. 読み取り可能な出力を返すにはどうすればよいですか?

編集: これは、別の Java プログラムからの出力を受け取る Java プログラムです。ユーザーが開始するプログラムは Translate.java と呼ばれ、英単語を取り込み、Runtime.getRuntime().exec("java -jar Dictionary.jar"+) コマンドを使用してコマンド ライン引数として渡します。Translate.java で getInputStream() を使用して、Dictionary.java プログラムからの出力を受け取るように言われました。

4

1 に答える 1

2

ストリームはテキストではありません。ファイルを読み取るものです。電話する必要がありますreadLine

BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s = null;
while ((s = input.readLine()) != null) { // it returns null at the end of the file
    System.out.println(s);
}
于 2013-09-19T01:02:24.847 に答える