title: Get output of cmd command from java code
body: <p>I have a program where I was able to successfully execute cmd commands from my code, but I want to be able to get the output from the cmd command. How can I do that?</p>
  
  <p>So far my code is:</p>
  
  <p>Second.java:</p>
  
  <pre><code>public class Second {
      public static void main(String[] args) {
          System.out.println("Hello world from Second.java");
      }
  }
  </code></pre>
  
  <p>and Main.java</p>
  
  <pre><code>public class Main {
      public static void main(String[] args) {
          String filename = args[1].substring(0, args[1].length() - 5);
          String cmd1 = "javac " + args[1];
          String cmd2 = "java " + filename;
  
          Runtime r = Runtime.getRuntime();
          Process p = r.exec(cmd1); // i can verify this by being able to see Second.class and running it successfully
          p = r.exec(cmd2); // i need to see this output to see if 
  
          System.out.println("Done");
      }
  }
  </code></pre>
  
  <p>I can check the first command is working successfully by checking for Second.class, but what if this class generated some error, how will I be able to see that error?</p>