排第四偶家 发表于 2017-5-17 11:29:06

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 的输出和返回值~
页: [1]
查看完整版本: java调用perl方式二