Amr Emaish
Amr Emaish

Reputation: 177

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

Upvotes: 3

Views: 81

Answers (1)

Saravana
Saravana

Reputation: 12817

 ProcessBuilder ps = new ProcessBuilder("java ", path);

You're executing java Second.java it should be java Second

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

Upvotes: 2

Related Questions