当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
计算机二级辅导:在Java中调用Perl脚本
发布时间:2010/3/13 9:22:45 来源:城市学习网 编辑:MOON
  有两种方法,第一种是直接 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 的输出和返回值~
  :
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved