import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Test {
  public static void main(String[] args) throws IOException {
      //String cmd = "ping 192.168.101.2 -t";
      String cmd = "java E:\\A.java";
      Runtime run = Runtime.getRuntime();
      Process p = run.exec(cmd);
      BufferedInputStream in = new BufferedInputStream(p.getInputStream());
      BufferedReader br = new BufferedReader(new InputStreamReader(in));
      String s;
      while ((s = br.readLine()) != null)
          System.out.println(s);
  }
}执行上面的程序后,程序没有报错,E:\A.java被成功编译,但是控制台没有输出信息,请问为什么?
当将要执行的命令换成ping 192.168.101.2 -t时,在控制台是有输出信息的。

解决方案 »

  1.   

    更正一下,上面写的应是
    javac E:\\A.java
    不是
    java E:\\A.java
      

  2.   

    我测试了没问题 你是不是没有把 String cmd = "java E:\\A.java";  去掉
    import java.io.BufferedInputStream; 
    import java.io.BufferedReader; 
    import java.io.IOException; 
    import java.io.InputStreamReader; public class Test { 
      public static void main(String[] args) throws IOException { 
          String cmd = "ping 192.168.101.2 -t"; 
         // String cmd = "java E:\\A.java"; 去掉
          Runtime run = Runtime.getRuntime();   
          Process p = run.exec(cmd); 
          BufferedInputStream in = new BufferedInputStream(p.getInputStream()); 
          BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
          String s; 
          while ((s = br.readLine()) != null) 
              System.out.println(s); 
      } 
      

  3.   

    下面是输出结果
    Pinging 192.168.101.2 with 32 bytes of data:Request timed out.Request timed out.Request timed out.Request timed out.Request timed out.Request timed out.Request timed out.
    .
    .
    .
      

  4.   

    答:这是因为:javac E:\\A.java 编译成功时,本来就不输出任何信息(没有信息输出,就是成功啊)
      

  5.   

    只有javac E:\\A.java 编译出错时(或警告时),javac才会输出点什么啊.
      

  6.   

    是不是 A.java 的 点 不认啊
      

  7.   

    E:\>javac E:\A.javaE:\>javac E:\A.javaE:\>果然啊,没有输出信息.
    怎么记得前几天是有输出的.
    呵呵,人老了,记性不好了.
      

  8.   

    呵呵,使用JAVAC命令编译成功本身就是没有输出
      

  9.   

    我认为LZ应该是换成这句话 String cmd = "java E:\\A.class";