`

在Java中调用Perl脚本

 
阅读更多

  有两种方法,第一种是直接 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脚本并压缩zip

    此代码教程主要包含两部分,1、java调用perl脚本生成excel;2、将生成的数据文件进行压缩,并解决了压缩后的文件解压时的乱码问题。 代码已经过系统测试,没任何问题。

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

    NULL 博文链接:https://fruitking.iteye.com/blog/799757

    java开源包1

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    java开源包4

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包11

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包101

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包6

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包9

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包8

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包5

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包10

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包3

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包2

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包7

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    Java资源包01

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    Pragmatic - From Java to Ruby jun 2006

    尽管脚本也可能会有这样那样的实现,但真的会在企业级应用中使用么? Ruby也许是一个脚本语言改进的榜样,也许又一种面向对象的脚本的Show,也许是大家尝试新技术的一种热情,,但真的让我Fram java to Ruby ,理由太...

    bsh.rar_Beanshel_beanshell_bsh-2.0b4-src.zip_javascript 解释

    BeanShell是一个小型的,免费的,可嵌入式的,具有...正因为BeanShell是用JAVA写的,所以它可以和你的应用程序运行在同一个JVM空间内,你也可以自由的传递实时对象的参照(References)到脚本代码中并且作为结果返回。

Global site tag (gtag.js) - Google Analytics