使用java捕获perl输出

时间:2011-06-23 16:23:52

标签: java perl

好吧,我马上就会深入了解事情:

我想从java应用程序(通过ProcessBuilder)运行一个perl脚本,然后解析一个html页面并找出一些必需的信息。然后,我想将该信息传回到我的java应用程序,并在JTextArea中显示该信息。

我对perl的了解非常有限。我最初的想法是将这些数据写入txt文件,然后使用我的java程序读取该文件,然后可以很容易地将其显示到JTextArea。然而,与简单地返回一个字符串相比,这似乎是一个丑陋的解决方案。

如果有更好的方法,请告诉我。也许是一种与我想的完全不同的方法。谢谢,

Aelfhere

3 个答案:

答案 0 :(得分:1)

我想你想要像this

这样的东西

答案 1 :(得分:0)

只能通过使用某种类型的进程间通信来传递进程之间的字符串:管道或共享内存或使用网络。

为什么你不能用Java做你想在Perl中做什么?

答案 2 :(得分:0)

当您使用ProcessBuilder时,您实例化一个Process Object,它是批量执行的java表示

您可以通过Java API挂钩流程。

从Process JAVA API中提取:

  • 抽象 InputStream getErrorStream()          获取子进程的错误流
  • 抽象 InputStream getInputStream()          获取子进程的输入流
  • 抽象 OutputStream getOutputStream()          获取子进程的输出流

如果perl脚本在标准输出流上写入,那么您可以读取该输出。

通常,如果进程不在标准输出流上写入,则无法读取它。