`
Tristan_S
  • 浏览: 366819 次
  • 性别: 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...

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

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

    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 正则表达式 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能进行静态代码分析,查找潜在的代码问题和不规范的编程实践,有助...

    redis-core-java.zip

    它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。 [1] Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从...

    swig实例java调用c

    本实例主要讲解如何使用Swig来实现Java调用C代码,并通过DLL动态链接库进行交互。 首先,Swig是一个接口生成器,它读取源代码中的特定注释,然后生成必要的绑定代码,使得Java、Python、Perl等语言可以调用C或C++的...

    liunx 编译好的 GDAL3.2.0java调用)

    然而,你提到的标题和描述表明,已经有一个预先编译好的GDAL 3.2.0版本,包含Java接口,可以直接用于Java调用,这样就可以避免手动编译和配置的过程。 1. **GDAL简介**: - GDAL支持超过400种不同的地理空间数据...

    mysql-server-5.1.66-2.el6_3.x86_64 安装包

    在安装过程中,通常会自动处理这些依赖关系,但如果手动安装,需要先安装“perl-DBD-MySQL-4.013-3.el6.x86_64.rpm”和“mysql-connector-java-5.1.17-6.el6.noarch.rpm”,以确保MySQL Server可以正常工作。...

    HSQLDB BER Server for Perl-开源

    2. **Perl模块**: 包含了与HSQLDB交互的Perl模块,如DBI(Database Interface)兼容的驱动,使得Perl程序员可以使用标准的DBI接口来操作HSQLDB数据库。 3. **文档**: 可能包含使用指南、API参考等,帮助开发者了解...

    详细的Eclipse编写Perl的教程

    Eclipse是一款功能强大、功能丰富的集成开发环境(Integrated Development Environment,IDE),虽然它主要用于Java和C++开发,但是在安装了EPIC插件后,也可以非常方便地编写和运行Perl语言。下面我们将详细讲解...

    java教材征订管理系统源码-perl-Myriad:微服务框架

    java教材征订管理系统源码名称 Myriad - 微服务协调 概要 use Myriad; Myriad->new->run; 描述 Myriad 提供了一个框架来处理异步的、基于微服务的代码。 它旨在在 Kubernetes 等环境中使用,以支持更大系统的水平...

    RabbitMQ:使用RabbitMQ并添加perl-test

    生成数据的是生产者,调用数据的为消费者。消息本身位于中间,当生产者发送过多数据时,消费者无法立即进行处理时,使用消息将将数据存储在其中,在慢慢发送数据给消费者进行处理。持久化和非持久化,如果是非持久化...

    Perl5-IDEA:IntelliJ IDEA的Perl5插件

    嵌入式Perl支持( lang.embedded )-使用<?添加对类似php的perl语法的支持和?>标记。 您始终可以构建和安装任何插件的当前开发版本: 将此仓库克隆到硬盘 进入仓库目录 运行./gradlew buildPlugin (这将从...

    java8看不到源码-scrabble-words-java:从可能的字母中显示有效的拼字游戏单词,用Java编写

    Perl 作为命令行程序编写的。 它获取您提供的有关您手中的牌的信息,并返回一个可能要玩的单词列表,按最高分排序。 要求 Java 11 或更高版本。 对于 Java 1.8,请参阅java8分支。 Maven 3.6.1(较低版本可能有效,...

Global site tag (gtag.js) - Google Analytics