在运行时在java中运行2 cmd代码

时间:2015-10-14 19:44:07

标签: java cmd compilation

我想连续运行2 cmd命令。我的目的是,首先编译文件(使用cmd命令而不是Java Compiler API之类的任何其他东西),然后运行。

compiler.java:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;

import javax.tools.DiagnosticCollector;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;

public class compiler {

    public static void main(String[] args) {
        final String dosCommand = "cmd /c java -cp ";
        final String classname = "example";
        final String location = "D:\\";




        try {
        final Process process2 = Runtime.getRuntime().exec("cmd /k javac D:\\example.java"); //I used /k to remain.
            final Process process = Runtime.getRuntime().exec(dosCommand + location + " " + classname);
            final InputStream in = process.getInputStream();
            final InputStream in2 = process.getErrorStream();
            int ch, ch2;
            while ((ch = in.read()) != -1) {
                System.out.print((char) ch);
            }
            while ((ch2 = in2.read()) != -1) {
                System.out.print((char) ch2); // read error here
            }
        } catch (IOException e) {
            e.printStackTrace();

        }
    }
}

example.java :(在D://路径中。)

  public class example { 
   public static void main(String[] args) { 
      System.out.println("Hello, World");
   }
}

当我运行compiler.java时,它会给出

  

错误:无法找到或加载主类示例

example.java没问题。当我在cmd中编译并运行此example.java文件时,它正确运行。 我的问题是连续运行2 cmd命令。最后,我如何连续运行cmd命令?感谢...

0 个答案:

没有答案