有两种方法,第一种是直接 Runtime.getRuntime().exec("...");
这里推荐第二种,可以得到输出和返回值:源代码如下:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ExecPerl {
public static void main(String args[]) {
String[] cmd = { "C:\\cygwin\\bin\\perl.exe", "sample.pl", "param1", "param2" };
StringBuffer resultStringBuffer = new StringBuffer();
String lineToRead = "";
// get Process to execute perl, get the output and exitValue
int exitValue = 0;
try {
Process proc = Runtime.getRuntime().exec(cmd);
InputStream inputStream = proc.getInputStream();
BufferedReader bufferedRreader = new BufferedReader(new InputStreamReader(inputStream));
// save first line
if ((lineToRead = bufferedRreader.readLine()) != null) {
resultStringBuffer.append(lineToRead);
}
// save next lines
while ((lineToRead = bufferedRreader.readLine()) != null) {
resultStringBuffer.append("\r\n");
resultStringBuffer.append(lineToRead);
}
// Always reading STDOUT first, then STDERR, exitValue last
proc.waitFor(); // wait for reading STDOUT and STDERR over
exitValue = proc.exitValue();
} catch (Exception ex) {
resultStringBuffer = new StringBuffer("");
exitValue = 2;
}
System.out.println("exit:" + exitValue);
System.out.println(resultStringBuffer.toString());
}
}
使用了 Process 后可以得到 Perl 的输出和返回值~
分享到:
相关推荐
在某些场景下,我们可能需要在Java应用程序中调用Perl脚本来执行特定的功能。JERL(Java-Embedding for Perl Library)就是这样一个库,它允许Java程序直接执行和交互Perl脚本,实现Java与Perl的融合。 **JERL的...
JERL,全称Java-Embedded Ruby and Perl Library,是Java中的一个开源库,其目标是使Java开发者能够无缝地调用Perl脚本。这个库通过提供Java接口来与Perl解释器交互,使得在Java程序中执行Perl代码变得简单。JERL的...
在某些场景下,开发者可能需要在Java程序中调用Perl脚本来执行特定任务,例如数据处理或文本解析。"基于Java的在Java中运行Perl脚本 JERL.zip" 提供了一个解决方案,它是一个名为JERL(Java-Embedded Ruby and Perl ...
有时候,开发者可能需要在Java程序中调用Perl脚本来利用其特定的功能。在这种情况下,JERL(Java-Embedded Ruby and Perl Library)提供了一个解决方案,它允许Java应用程序直接执行Perl脚本,而无需依赖外部进程。 ...
例如,你可以在Java中创建一个数组或哈希表,然后在Perl脚本中使用这些数据。这增加了Java和Perl之间的互操作性,使得两者可以协同工作,解决更复杂的问题。 为了深入理解JERL的用法,你需要查看压缩包中的源代码和...
这个教程就是关于如何使用Java调用Perl脚本来生成Excel文件,然后将生成的文件压缩为ZIP格式,同时解决可能出现的乱码问题。这里我们将深入探讨这两个关键步骤。 首先,让我们来看看Java调用Perl脚本的部分。在Java...
在实际应用中,Perl脚本可能与Java或其他编程语言结合使用,例如,Java程序可以启动和控制Perl脚本,而Perl脚本则处理特定的任务,如文本处理或系统管理。 总的来说,这个主题涵盖了Perl脚本如何与操作系统交互,...
任何Perl脚本中返回的值都将被转换为Java对象。 6. **错误处理**:通过`Perl`对象的`getError()`方法检查执行过程中是否出现错误。 **示例代码** ```java import com.jerl.Perm; public class ...
这段代码会输出Perl脚本中的"Hello, World!"。 **注意事项** 1. **平台兼容性**:由于JERL依赖于Perl解释器,所以它可能不适用于所有操作系统。你需要确保你的系统上已经安装了与JERL兼容的Perl版本。 2. **性能**...
有时候,开发者可能需要在Java应用中调用Perl脚本来利用其特定的功能。JERL(Java-Embeddable Ruby and Perl Library)就是这样一个库,它允许Java程序无缝地执行Perl脚本。本文将详细介绍如何使用JERL在Java中运行...
在Android开发中,Java语言是主要的编程工具,但有时候我们可能需要在应用程序中执行一些脚本代码,比如JavaScript、Python或Shell等。这通常是为了实现一些特定功能,如自动化处理、数据解析或是利用第三方库的脚本...
3. **Perl与WPF的接口**:教程可能会详细解释如何在WPF应用中调用Perl脚本,这通常涉及到使用System.Diagnostics.Process类或者通过COM接口来执行Perl程序。 4. **事件驱动编程**:在WPF中,用户交互通常通过事件...
Perl 的设计哲学是“让简单的任务保持简单,让困难的任务变得可能”,这体现在其灵活的语法、强大的内建函数和丰富的第三方模块上。 Perl 脚本的基本结构 Perl 脚本通常以 .pl(代表 Perl Language)作为文件扩展名...
描述中提到"Perl java intergration"进一步证实了我们的猜测,即这个压缩包可能包含了一些示例、库或者教程,用于演示如何在Perl中使用Java,或者反之,在Java程序中调用Perl脚本。这种集成可以帮助开发者充分利用两...
相比于Java、Python等其他流行语言,Perl可能在某些方面不是最优秀的,但它在特定应用场景下的效率非常高。 #### 四、Perl的应用场景 - **哪些情况下不适合使用Perl?** - 虽然Perl用途广泛,但在大规模软件开发...
BSF(Bean Scripting Framework,豆脚本框架)是Apache的一个项目,它提供了一种机制,使得开发者能够在Java应用中集成各种脚本语言,如JavaScript、Python、XSLT、Perl、TCL等。BSF的核心是一个Java类库,目前最新...
- `Makefile.PL`:用于构建和安装Log4perl的Perl脚本。 - `Changes`:版本变更记录,列出从上一个版本到1.36的改进和修复。 - `README`:介绍Log4perl的基本用法和特点。 使用Log4perl时,开发者通常需要编写一个...
安装并启用EPIC插件后,Perl开发者可以在Eclipse环境中享受到与Java等其他语言开发同样强大的集成开发环境支持,提升了Perl编程的效率和便利性。对于希望在Eclipse中进行Perl开发的用户来说,EPIC是一个不可或缺的...
Perl编程语言,被誉为“大骆驼”,是一种强大的脚本语言,尤其在文本处理、系统管理、网络编程等领域有着广泛的应用。Perl由Larry Wall于1987年创建,设计目标是提供一种灵活、强大且易读的编程工具,能够应对各种...
可以在命令行中使用`perl -w`来开启警告功能,或在脚本中使用`use warnings`来达到相同的效果。更详细的警告信息可以通过`use diagnostics`获得,而`use strict`则可以在编译时检查潜在的问题。 #### 数据类型介绍 ...