加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java执行外部程序并返回结果

发布时间:2020-12-14 23:38:13 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.*;/** * 示例:执行进程并返回结果 */public class ProcessExecutor { public static final int SUCCESS = 0; // 表示程序执行成功 pu

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

import java.io.*;

/**
 * 示例:执行进程并返回结果
 */
public class ProcessExecutor {

    public static final int SUCCESS = 0;            // 表示程序执行成功

    public static final String COMMAND = "java.exe -version";    // 要执行的语句

    public static final String SUCCESS_MESSAGE = "程序执行成功!";

    public static final String ERROR_MESSAGE = "程序执行出错:";

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

        // 执行程序
        Process process = Runtime.getRuntime().exec(COMMAND);

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

        // 等待程序执行结束并输出状态
        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();
            }
        }
    }
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读