在java中调用dos命令,如何判断它是否执行完成? 如果是文件操作,应该用java.io.*File中的方法应该可以实现你的需要,如果你是要特殊的需要的话,那我也不知道了。获取dos的输出流,然后再以输出的内容来判断,也是解决这个问题的方法之一。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 yefc:我用了process.waitfor()以后,程序就停下来不动了? yefc说得没错,用waitfor();Process p=Runtime.getRuntime().exec("dos命令");p.waitFor();System.out.println("Process p=Runtime.getRuntime().exec(\"dos命令\");命令执行完毕");程序就停下来不动了,可能是运行时产生了Dos命令提示符窗口没有关闭。 大侠,确实无法运行下去啊,这是一个简单的命令,我试了好几次啦!!只能ctrl+c解决 Process proc = null; try{ proc = Runtime.getRuntime().exec("cmd /c dir"); proc.waitFor(); System.out.println("bbbb"); }catch(Exception e){ e.printStackTrace(); } 这个可以的,给你参考一下: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); } }} 我试了几把,发现如果dos命令不产生屏幕输出,则可以,如果有屏幕输出,如dir则不行!有没有解决方法啊,大侠? 因为我调用的那个exe命令执行完成后,要给一个提示,所以就引起了问题! 你可以用process.getOutputStream()往那个被调用程序输入,让那个程序继续运行下去啊。要不就增加检查文件的机制,不去等待你那个命令的结束。 我那个被调用程序不用输入,只是它执行过程中要给出一些提示而已,我又无法去掉这些提示。这时那个exe命令就无法结束不知还有没有高手解决这个问题? 是的,我用CMD /C DIR也不行,运行时DOS屏幕黑屏,没任何显示,必须手动结束DOS窗口. Process proc = null; try{ proc = Runtime.getRuntime().exec("command.com /c dir"); proc.waitFor(); System.out.println("bbbb"); }catch(Exception e){ e.printStackTrace(); } 这样看看? if(new File(yourfilepath)=null){your cmd} 数据结构环形队列 java 界面问题 java swing 急急急~~~~关于一个文件流的问题~ 关于java: Hibernate令人不爽的地方 类与类关系是继承、依赖、关联、关联? 求Java工具 如何给按钮加上位图?在线等待 我已经没信心了!!!哪位帮帮忙??? JAVA在中国的悲哀 时间是16:10 或是15:40,为什么Calendar.MINUTE得到的却是12? 如何把ASCII码转换成字符?
我用了process.waitfor()以后,程序就停下来不动了?
p.waitFor();
System.out.println("Process p=Runtime.getRuntime().exec(\"dos命令\");命令执行完毕");程序就停下来不动了,可能是运行时产生了Dos命令提示符窗口没有关闭。
try{
proc = Runtime.getRuntime().exec("cmd /c dir");
proc.waitFor();
System.out.println("bbbb");
}catch(Exception e){
e.printStackTrace();
}
这个可以的,给你参考一下:
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);
}
}
}
这时那个exe命令就无法结束
不知还有没有高手解决这个问题?
try{
proc = Runtime.getRuntime().exec("command.com /c dir");
proc.waitFor();
System.out.println("bbbb");
}catch(Exception e){
e.printStackTrace();
}
这样看看?
your cmd
}