Process prc=Runtime.getRuntime().exec(cmd);
/*
String line;
BufferedReader prcout = new BufferedReader(
new InputStreamReader(
new BufferedInputStream(prc.getInputStream())));  while ((line = prcout.readLine()) != null){
System.out.println(line);
}
prcout.close();
*/
prc.waitFor();这样试试看?中间注释那段去掉或者打开.
不过如果你的java程序只是执行一下exec的话,好像没有什么存在的必要阿。

解决方案 »

  1.   

    楼上得兄弟我要运行是exp username/password file=bak命令来备份数据库
    我写输出是为了调试用的
    我测试的时候导出的数据量还比较小,也就是一个表( 才110K)
    每次运行的时候总是没有任何反映,不过倒是有输出bak.dmp
    我刚用你的试了一下,虽然还是不行但稍微有点进展了:
    Process prc=Runtime.getRuntime().exec("ping 59.64.159.164 -t");
    Thread.sleep(60*1000);//要是200MB的要多长时间呢??
    prc.destroy();
    这样可以执行完成,而且输出结果也没问题。
    休眠的时间怎么确定?我怕时间短了会使导出的数据不可用
    最好能找到prc完成的时间
    再帮看一下把 谢谢各位了
      

  2.   

    prc.waitFor();应该可以等进程执行完。