当我运行 python 脚本时,输出出现在 DOS 上(Windows 中的命令提示符)。
我希望输出显示在 JAVA 应用程序上,即包含 JTextArea 的窗口上。输出应与 DOS 上的相同。
那么,如何捕获 DOS 的输出并将其插入 JAVA 应用程序?
(我尝试将 python 脚本的输出存储在文本文件中,然后使用 JAVA 读取它。但是,在这种情况下,JAVA 应用程序首先等待脚本完成运行,然后显示输出。并且,当输出更多时比屏幕大小,会出现一个滚动条,这样我就可以看到整个输出。)
在crowder的评论之后,我运行了这段代码。但输出始终是:
错误:进程说:
import java.io.*;
import java.lang.*;
import java.util.*;
class useGobbler {
public static void main ( String args[] )
{
ProcessBuilder pb;
Process p;
Reader r;
StringBuilder sb;
int ch;
sb = new StringBuilder(2000);
try
{
pb = new ProcessBuilder("python","printHello.py");
p = pb.start();
r = new InputStreamReader(p.getInputStream());
while((ch =r.read() ) != -1)
{
sb.append((char)ch);
}
}
catch(IOException e)
{
System.out.println("error");
}
System.out.println("Process said:" + sb);
}
}
谁能告诉我我做错了什么??