java - 从 Java 并发获取 Perl 输出

标签 java swing perl swingworker

我正在编写一个 Swing 应用程序,它将执行长时间运行的 Perl 脚本。即使进程在后台执行,我也需要同时显示执行的临时输出。使用以下代码片段会在进程完成时返回输出。

BufferedReader stdInput = new BufferedReader(new 
                     InputStreamReader(p.getInputStream()));

                // read the output from the command
                while ((s = stdInput.readLine()) != null) {
                    System.out.println(s);
                }

如何同时获得输出?我正在使用 Swingworker 来显示返回的信息。

最佳答案

Perl 端是否启用了自动刷新?如果没有,那么您将进行缓冲。

通过 $|++;$| 将 $| 设置为非零值= 1; 启用自动刷新。

参见perldoc perlvar了解更多详情。

关于java - 从 Java 并发获取 Perl 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18509236/

相关文章:

java - 如何使用 PEM 文件在 Java 中创建 SSL 套接字?

java - 如何在 JFrame 中停止和恢复绘画?

perl - 计算数百 GB 数据中的子序列

macos - 设置 MACOSX_DEPLOYMENT_TARGET 的最佳方法是什么?

Java PaintComponents 没有被调用

perl - system() 返回错误的退出代码

java - 奇怪的路径会导致文件系统结构错误吗?

Java应用程序无法连接到openshift中的mysql数据库

java - 为什么 Jackson 序列化时省略了小数点为零的 Double?

Java 8 Swing 更改 jToggleButton 的颜色