我想编译第二个文件并获取输出,但它抛出一个 Exception 。
public static void main(String[] args) throws IOException, InterruptedException {
String path="C:\\Users\\Amr\\Documents\\NetBeansProjects\\Second.java";
Process pro1 = Runtime.getRuntime().exec("javac " + path);
ProcessBuilder ps = new ProcessBuilder("java ", path);
ps.redirectErrorStream(true);
Process pr = ps.start();
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
pr.waitFor();
System.out.println("ok!");
in.close();
pro1.waitFor();
}
从这个类中获取输出
public class Second {
public static void main(String[] args) {
System.out.println("Hello world from Second.java");
}}
请帮忙修复错误
那是错误
Error: Could not find or load main class C:\Users\Amr\Documents\NetBeansProjects\Second.java
最佳答案
ProcessBuilder ps = new ProcessBuilder("java ", path);
你正在执行 java Second.java
它应该是 java Second
替换 path.replace(".java","")
或创建一个没有 ".java"的变量
nsaravanas@ubuntu:~$ pwd
/home/nsaravanas
nsaravanas@ubuntu:~$ javac com/test/Second.java
nsaravanas@ubuntu:~$ java com.test.Second
Hello world from Second.java
nsaravanas@ubuntu:~$
关于java - 执行java文件并从cmd获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35075752/