有两种方法,第一种是直接 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 的输出和返回值~
分享到:
相关推荐
总的来说,JERL为Java开发者提供了一种集成Perl脚本的强大方式,使得Java应用能够利用Perl的灵活性和文本处理能力,同时保持Java的稳定性和跨平台特性。不过,这种混合编程模式也意味着需要对两种语言都有一定的了解...
这个教程就是关于如何使用Java调用Perl脚本来生成Excel文件,然后将生成的文件压缩为ZIP格式,同时解决可能出现的乱码问题。这里我们将深入探讨这两个关键步骤。 首先,让我们来看看Java调用Perl脚本的部分。在Java...
标题 "perl脚本调用练习和调用系统命令并展示输出信息" 提示我们这篇内容主要涉及使用Perl脚本执行系统命令以及如何处理输出信息。Perl是一种强大的文本处理语言,常用于系统管理任务,包括调用其他系统工具或程序。...
Java是一种广泛使用的编程语言,而Perl则是一种功能强大的脚本语言,尤其在文本处理和系统管理方面表现出色。有时候,开发者可能需要在Java程序中调用Perl脚本来利用其特定的功能。在这种情况下,JERL(Java-...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它遵循Perl 5规范,提供了灵活且功能丰富的模式匹配能力。Jakarta ORO(Oracle RegEx)库是Apache软件基金会的一个项目,它是一个高性能的Java正则表达式...
Java是一种广泛使用的编程语言,而Perl则以其强大的文本处理能力闻名。在某些场景下,开发者可能需要在Java程序中调用Perl脚本来执行特定任务,例如数据处理或文本解析。"基于Java的在Java中运行Perl脚本 JERL.zip" ...
2. **调用Perl函数**:通过JERL,Java代码可以调用Perl模块中的函数,实现Java与Perl的交互。这极大地扩展了Java的功能,尤其是在处理文本和数据时。 3. **输入输出管理**:JERL提供了对Perl脚本输入输出流的控制,...
JERL是一个Java库,它提供了一种方式来在Java程序中运行Perl脚本,使得Java开发者可以利用Perl的强大功能,特别是在文本处理和正则表达式方面的能力。这个压缩包"基于Java的实例源码-在Java中运行Perl脚本 JERL.zip...
2. **性能**:虽然JERL提供了便利的功能,但因为涉及到了Java和Perl之间的互操作,所以在性能上可能不如直接使用Java或Perl单独处理。 3. **错误处理**:在Java代码中处理Perl脚本抛出的异常非常重要,以确保程序的...
JERL(Java-Embedded Ruby and Perl Library)就是一个这样的工具,它允许Java程序调用Perl脚本并进行交互。 **JERL简介** JERL是Java的一个库,它提供了在Java应用程序中直接运行Perl脚本的功能。通过JERL,开发者...
- **使用Perl库**:同样,也可以编写Perl库,利用Perl的文本处理和系统操作能力,以适应特定的测试需求。 为了充分利用这些功能,开发者需要熟悉Java和Perl的编程,以及Robot Framework的关键字驱动测试方法。通过...
然而,你提到的标题和描述表明,已经有一个预先编译好的GDAL 3.2.0版本,包含Java接口,可以直接用于Java调用,这样就可以避免手动编译和配置的过程。 1. **GDAL简介**: - GDAL支持超过400种不同的地理空间数据...
这个“谷歌眼镜的谷歌身份验证器_Java_Perl_下载.zip”文件可能包含了一个用于在谷歌眼镜上实现谷歌身份验证器功能的源代码或工具包,其中涉及到Java和Perl两种编程语言。 Java是广泛使用的跨平台编程语言,它在...
2. **Java调用DLL**: - Java使用`System.loadLibrary`或`Class.getSystemResourceAsStream`加载DLL文件。在Windows环境下,DLL是动态链接库的格式,Java可以通过JNI调用DLL中的函数。 - DLL中的函数必须按照JNI...
使用Java正则表达式有许多优势。首先,它极大地简化了诸如电子邮件地址验证等任务的代码量,提高了编程效率。然而,这也需要开发者掌握特定的正则表达式语法。 在Java中,正则表达式的基础知识包括: 1. **句点...
- Perl遵循开放源代码许可协议,这意味着任何人都可以免费获取和使用Perl源代码。这种模式促进了广泛的社区参与和技术改进。 #### 二、Perl版本选择与差异 - **应该使用哪个版本的Perl?** - 推荐使用最新的稳定...
语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的...
PDFLib 7 是一款强大的库,专为编程语言如 C/C++、Java、Perl、PHP、Ruby 提供了创建和处理 PDF(Portable Document Format)文档的功能。这个中文参考手册是开发者的重要资源,它包含了详尽的文档和示例,帮助...