getInputStream()不返回可读信息

时间:2013-09-19 00:59:00

标签: java

我的家庭作业是从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程序的输出。

1 个答案:

答案 0 :(得分: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);
}