`
Tristan_S
  • 浏览: 378918 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

perl - Java调用perl

    博客分类:
  • perl
 
阅读更多
Java 调用 perl
Runtime.getRuntime().exec("perl C:\\Perl\\execise.pl");


Java 调用 perl 通过IO的方式来得到返回值
package fiveGame;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class JavaCallPerl {
	public static void main(String[] args) throws IOException {

		StringBuffer resultStringBuffer = new StringBuffer();

		String lineToRead = "";
		int exitValue = 0;

		try {

			Process proc = Runtime.getRuntime().exec("perl C:\\Perl\\execise.pl");
			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());

	}

}



perl
#!/usr/bin/perl -w
$pi = 3.141592654;
$circ = 2 * $pi * 12.5;
print "The circumference of a circle of radius 12.5 is $circ.\n";


分享到:
评论
2 楼 Tristan_S 2012-09-12  
很长时间没碰perl了,这个不大了解
1 楼 ballanfeng 2012-09-11  
请问调用perl时怎么传入参数?
我参考网上还有一种方式是:
String[] cmds = {"c:\\bin\\perl.exe","temp.pl","param1","param2"}
Process proc = Runtime.getRuntime().exec(cmds);
请问这2种方式有什么不一样? 

相关推荐

    Log-Log4perl-1.36.tar.gz

    "Log-Log4perl-1.36.tar.gz"这个压缩包包含了Log4perl的1.36版本源代码,用户可以解压后进行安装和使用。 Log4perl的核心理念是将日志记录分为四个主要部分:Logger、Appender、Layout和Filter。这四个组件协同工作...

    perl-lambda-byor:Perl自定义运行时,用于在Perl中编写AWS Lambda函数

    在使用 perl-lambda-byor 的过程中,可能遇到的问题包括兼容性问题(某些 Perl 模块可能不适用于 Lambda 环境)、性能优化(Lambda 有内存和执行时间限制)以及日志记录和错误处理。此外,需要注意的是,由于 Lambda...

    在Java中运行Perl脚本 JERL

    Java是一种广泛使用的面向对象的编程语言,而Perl则是一种功能强大的脚本语言,常用于文本处理和系统管理任务。在某些场景下,我们可能需要在Java应用程序中调用Perl脚本来执行特定的功能。JERL(Java-Embedding for...

    神奇的Perl-最佳Perl入门读物

    Perl还支持面向对象编程,虽然它的面向对象机制与Java或C++等语言有所不同,但同样能实现类、对象、继承、多态等概念。熟悉这些,将使你在处理复杂问题时更加游刃有余。 在实践中,学会使用CPAN是提升Perl开发效率...

    log4perl - log4j for Perl-开源

    3. **初始化**: 使用 `Log::Log4perl->init()` 函数初始化 log4perl,传入配置文件路径。 4. **创建日志器**: 使用 `get_logger()` 函数创建一个日志器实例,通常是基于模块或类名。 5. **记录日志**: 通过调用...

    JSON-JAVA jar 包

    JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和...

    冷雨夜1521源码 (VIP)

    1. ActivePerl-5.8.8.822-MSWin32-x86-280952.msi http://jlbc.skycn.com/down/ActivePerl-5.8.8.822-MSWin32-x86-280952.zip 2. ora10client.exe 客户端程序 http://www.irisbay.com/down/pub/ora10client.rar 注...

    Log-Log4perl-Appender-RabbitMQ:适用于RabbitMQ的Log4perl Appender

    使用Log-Log4perl-Appender-RabbitMQ的好处包括: 1. 异步处理:日志记录不会阻塞应用程序执行。 2. 可扩展性:日志可以被多个消费者处理,便于在大型系统中进行日志分析和监控。 3. 高可用性:即使RabbitMQ暂时不...

    perl脚本调用练习和调用系统命令并展示输出信息

    标题 "perl脚本调用练习和调用系统命令并展示输出信息" 提示我们这篇内容主要涉及使用Perl脚本执行系统命令以及如何处理输出信息。Perl是一种强大的文本处理语言,常用于系统管理任务,包括调用其他系统工具或程序。...

    基于Java的实例源码-在Java中运行Perl脚本 JERL.zip

    在这个特定的实例中,我们关注的是如何在Java程序中执行Perl脚本,这在某些场景下非常有用,比如处理文本数据或者调用已有的Perl库。"JERL"(Java-Embedded Ruby/Perl Library)是实现这一功能的工具,它允许Java...

    基于java的开发源码-在Java中运行Perl脚本 JERL.zip

    JNI是Java平台的一部分,它允许Java代码调用C/C++代码,从而间接地与Perl解释器进行通信。当Java程序使用JERL时,会创建一个Perl虚拟机实例,并通过JNI接口执行Perl脚本,将结果返回给Java环境。 **使用JERL的步骤*...

    java 正则表达式 perl5规范 jakarta-oro.jar

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它遵循Perl 5规范,提供了灵活且功能丰富的模式匹配能力。Jakarta ORO(Oracle RegEx)库是Apache软件基金会的一个项目,它是一个高性能的Java正则表达式...

    java调用perl脚本并压缩zip

    这个教程就是关于如何使用Java调用Perl脚本来生成Excel文件,然后将生成的文件压缩为ZIP格式,同时解决可能出现的乱码问题。这里我们将深入探讨这两个关键步骤。 首先,让我们来看看Java调用Perl脚本的部分。在Java...

    Eclipse Perl Plugin - 0.6.52

    4. **Perl文档查看**:插件内置了Perl文档查看功能,可以查阅Perl函数和模块的在线文档,帮助开发人员了解和使用Perl API。 5. **代码分析**:EPIC能进行静态代码分析,查找潜在的代码问题和不规范的编程实践,有助...

    appium的java实现+appium原理

    Appium的特色在于它采用client-server架构,支持多语言实现,比如Java、Objective-C、JavaScript、PHP、Python、Ruby、C#、Clojure或Perl语言,并兼容Selenium WebDriver的API。 从Appium的工作原理来看,它利用了...

    Perl 常见问题集

    - Perl遵循开放源代码许可协议,这意味着任何人都可以免费获取和使用Perl源代码。这种模式促进了广泛的社区参与和技术改进。 #### 二、Perl版本选择与差异 - **应该使用哪个版本的Perl?** - 推荐使用最新的稳定...

    基于Java的在Java中运行Perl脚本 JERL.zip

    Java是一种广泛使用的编程语言,而Perl则以其强大的文本处理能力闻名。在某些场景下,开发者可能需要在Java程序中调用Perl脚本来执行特定任务,例如数据处理或文本解析。"基于Java的在Java中运行Perl脚本 JERL.zip" ...

Global site tag (gtag.js) - Google Analytics