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