我有一个小程序,它将备份一些重要文件,然后卸载程序。一旦完成,它将安装一堆新东西并备份旧文件并配置所有内容。它工作正常,但问题是当我运行程序时,它只是加载了一堆安装程序,并在程序安装之前恢复备份文件。
我知道这种情况正在发生,因为java不负责安装Windows程序的程序,但有没有办法延迟程序,以便它不会进入下一步直到最后1完成?我可以大致猜测完成一个步骤并使用thread.sleep()需要多长时间,但我想要更精确的东西。有没有办法以某种方式从Windows中完成任务时找到它?
答案 0 :(得分:2)
如果使用ProcessBuilder
启动安装程序,则在调用Process
时会返回start()
个对象。
如果然后在Process
上调用waitfor()
,您的线程将等到安装程序完成。