运行一个从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,我会很高兴帮助解决。

广告
将在 10 秒后关闭
bannerAds