我希望通过Java运行一个shell脚本。我正在使用许可证生成工具,它可以通过./LicenseGen.sh命令调用。在它下面,我需要执行另一个命令create licensekey -x license-input.xml,它将创建一个新的licensekey.xml文件,其中license-input.xml是一个输入文件,licensekey是一个输出xml文件。请问如何在Java中实现这个功能。
我的代码是:
我的代码是:
import java.io.*;
import java.util.*;
public class ProcessExample {
/**
* @param args
*/
public static void main(String args[]) throws IOException {
File file=new File("/opt");
// List<String> list=new List<String>();
ProcessBuilder processBuilder = new ProcessBuilder("./LicenseGen.sh");
processBuilder.directory(file);
Process process=processBuilder.start();
//processBuilder.command("create licensekey -x license-input.xml");
//process=processBuilder.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
System.out.printf("Output of running %s is:",
Arrays.toString(args));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
}