zoukankan      html  css  js  c++  java
  • Java 执行终端命令实现,调用执行另外一个Java文件

    Test.java

    package com.journaldev.files;
     
    public class Test {
     
        public static void main(String[] args) {
            System.out.println("Start");
            for(String str : args){
                System.out.println(str);
            }
     
        }
     
    }
    

    CompileRunJavaProgram.java

    package com.journaldev.files;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
     
    public class CompileRunJavaProgram {
     
        public static void main(String[] args) {
            try {
                runProcess("pwd");
                System.out.println("**********");
                runProcess("javac -cp src src/com/journaldev/files/Test.java");
                System.out.println("**********");
                runProcess("java -cp src com/journaldev/files/Test Hi Pankaj");
            } catch (Exception e) {
                e.printStackTrace();
            }
             
        }
     
        private static void printLines(String cmd, InputStream ins) throws Exception {
            String line = null;
            BufferedReader in = new BufferedReader(
                new InputStreamReader(ins));
            while ((line = in.readLine()) != null) {
                System.out.println(cmd + " " + line);
            }
          }
     
          private static void runProcess(String command) throws Exception {
            Process pro = Runtime.getRuntime().exec(command);
            printLines(command + " stdout:", pro.getInputStream());
            printLines(command + " stderr:", pro.getErrorStream());
            pro.waitFor();
            System.out.println(command + " exitValue() " + pro.exitValue());
          }
     
    }
    

     运行结果:

    pwd stdout: /Users/pankaj/CODE/JavaPrograms
    pwd exitValue() 0
    **********
    javac -cp src src/com/journaldev/files/Test.java exitValue() 0
    **********
    java -cp src com/journaldev/files/Test Hi Pankaj stdout: Start
    java -cp src com/journaldev/files/Test Hi Pankaj stdout: Hi
    java -cp src com/journaldev/files/Test Hi Pankaj stdout: Pankaj
    java -cp src com/journaldev/files/Test Hi Pankaj exitValue() 0
    

    转自:http://www.journaldev.com/937/how-to-compile-and-run-java-program-in-another-java-program

  • 相关阅读:
    相关分析[SDOI2017]
    排序[HEOI2016/TJOI2016]
    逆序对[AHOI2008]
    逆序对数列[HAOI2009]
    小Z的袜子「2009国家集训队」
    http抓包—Content-Type讲解
    mysql——leetcode问题记录
    linux--vi命令
    Linux—echo命令
    Linux—文件命令之touch命令
  • 原文地址:https://www.cnblogs.com/spring87/p/6070471.html
Copyright © 2011-2022 走看看