有两种方法,第一种是直接 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 的输出和返回值~
以上是我对于这个问题的解答,希望能够帮到大家。
全部