perl - Java调用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";

相关推荐