中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Java執(zhí)行外部程序并返回結(jié)果

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
import java.io.*;

/**
 * 示例:執(zhí)行進程并返回結(jié)果
 */
public class ProcessExecutor {

    public static final int SUCCESS = 0;            // 表示程序執(zhí)行成功

    public static final String COMMAND = "java.exe -version";    // 要執(zhí)行的語句

    public static final String SUCCESS_MESSAGE = "程序執(zhí)行成功!";

    public static final String ERROR_MESSAGE = "程序執(zhí)行出錯:";

    public static void main(String[] args) throws Exception {

        // 執(zhí)行程序
        Process process = Runtime.getRuntime().exec(COMMAND);

        // 打印程序輸出
        readProcessOutput(process);

        // 等待程序執(zhí)行結(jié)束并輸出狀態(tài)
        int exitCode = process.waitFor();

        if (exitCode == SUCCESS) {
            System.out.println(SUCCESS_MESSAGE);
        } else {
            System.err.println(ERROR_MESSAGE + exitCode);
        }
    }

    /**
     * 打印進程輸出
     *
     * @param process 進程
     */
    private static void readProcessOutput(final Process process) {
        // 將進程的正常輸出在 System.out 中打印,進程的錯誤輸出在 System.err 中打印
        read(process.getInputStream(), System.out);
        read(process.getErrorStream(), System.err);
    }

    // 讀取輸入流
    private static void read(InputStream inputStream, PrintStream out) {
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

            String line;
            while ((line = reader.readLine()) != null) {
                out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {

            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:php備份整個MySQL數(shù)據(jù)庫,或者指定表

下一篇:Java Socket多線程編程示例