运行一个从Java调用的Shell脚本
运行环境
OS: Mac OS X
$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
码 (Mǎ)
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main (String args[]) {
try {
Process process = new ProcessBuilder("ls", "-l").start();
InputStreamReader isr = new InputStreamReader(process.getInputStream(), "UTF-8");
BufferedReader reader = new BufferedReader(isr);
StringBuilder builder = new StringBuilder();
int c;
while ((c = reader.read()) != -1) {
builder.append((char)c);
}
System.out.println("result:\n" + builder.toString());
System.out.println("Command return code: " + process.waitFor());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
GitHub项目库
以下是全部的結論連結:https://github.com/atsushi-ito-110/execute-shell-script。
请参考以下网站
-
- いろんな言語で、外部プロセス起動 – CLOVER
- Java の外部プロセスが返って来ない場合の対処方法 – Qiita
附加说明
从创建日(2015/11)到现在已经过去了大约2.5年,我考虑着如果是现在(2018/06),会怎样对文章进行重构。
如果有任何问题,请创建一个issue,我会很高兴帮助解决。