如果是文件操作,应该用java.io.*
File中的方法应该可以实现你的需要,如果你是要特殊的需要的话,那我也不知道了。获取dos的输出流,然后再以输出的内容来判断,也是解决这个问题的方法之一。

解决方案 »

  1.   

    yefc:
    我用了process.waitfor()以后,程序就停下来不动了?
      

  2.   

    yefc说得没错,用waitfor();Process p=Runtime.getRuntime().exec("dos命令");
    p.waitFor();
    System.out.println("Process p=Runtime.getRuntime().exec(\"dos命令\");命令执行完毕");程序就停下来不动了,可能是运行时产生了Dos命令提示符窗口没有关闭。
      

  3.   

    大侠,确实无法运行下去啊,这是一个简单的命令,我试了好几次啦!!只能ctrl+c解决    Process proc = null;
        try{
          proc = Runtime.getRuntime().exec("cmd /c dir");
          proc.waitFor();
          System.out.println("bbbb");
        }catch(Exception e){
          e.printStackTrace();
        }
      

  4.   


    这个可以的,给你参考一下:
    import java.io.*;class testRuntime
    {
    public static void main(String[] args)
    {
    Process proc = null;
    try{
    proc = Runtime.getRuntime().exec("c:\\winnt\\system32\\notepad.exe");
    proc.waitFor();
    System.out.println("bbbb");
    }catch(Exception e){
    e.printStackTrace(System.out);
    }
    }
    }
      

  5.   

    我试了几把,发现如果dos命令不产生屏幕输出,则可以,如果有屏幕输出,如dir则不行!有没有解决方法啊,大侠?
      

  6.   

    因为我调用的那个exe命令执行完成后,要给一个提示,所以就引起了问题!
      

  7.   

    你可以用process.getOutputStream()往那个被调用程序输入,让那个程序继续运行下去啊。要不就增加检查文件的机制,不去等待你那个命令的结束。
      

  8.   

    我那个被调用程序不用输入,只是它执行过程中要给出一些提示而已,我又无法去掉这些提示。
    这时那个exe命令就无法结束
    不知还有没有高手解决这个问题?
      

  9.   

    是的,我用CMD /C DIR也不行,运行时DOS屏幕黑屏,没任何显示,必须手动结束DOS窗口.
      

  10.   

    Process proc = null;
        try{
          proc = Runtime.getRuntime().exec("command.com /c dir");
          proc.waitFor();
          System.out.println("bbbb");
        }catch(Exception e){
          e.printStackTrace();
        }                       
    这样看看?
      

  11.   

    if(new File(yourfilepath)=null){
    your cmd
    }