简体   繁体   English

执行java文件并从cmd获取输出

[英]Execute java file and get output from cmd

I want to compile second file and get the output but it throw an 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();

}

Get output from this class 从这个类中获取输出

public class Second {
public static void main(String[] args) {
    System.out.println("Hello world from Second.java");
}}

please any help for repairing the errors 请帮助修复错误

that is the error 那就是错误

Error: Could not find or load main class C:\Users\Amr\Documents\NetBeansProjects\Second.java
 ProcessBuilder ps = new ProcessBuilder("java ", path);

You're executing java Second.java it should be java Second 你正在执行java Second.java应该是java Second

replace path.replace(".java","") or create a variable without ".java" 替换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:~$

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM