java 有没有能运行一次后,删除自身的方法。为什么好多人说删除自身就是在写病毒...

我希望做一个能自动获得服务器上新版本并自我更新的程序。当检测到有新版本就用
新版本替换自身。程序是个jar文件,目前的问题是,如何替换。

我能想到的方法:主程序名为a.jar,因为正在运行的程序不能被删除替换,
所以先将新版本下载,名为aTemp.jar,运行aTemp.jar。a.jar关闭自身,aTemp.jar删除
a.jar,复制aTemp.jar并名为a.jar。最后,删除自身。即aTemp.jar只运行一次。

当然,一定有更好的方法,望有人指点。

1个回答

可以把当前运行的程序改名或者在同驱动器移动,这是不限制的。然后就可以下载你的软件,启动它,再关闭自身,让新程序删除老程序完成升级。

Azy759
Azy759 厄..
4 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复Azy759: 你可以把升级的部分专门用C++来写
4 年多之前 回复
Azy759
Azy759 谢谢,renameTo能对exe文件改名,但不能对正在运行的jar文件改名
4 年多之前 回复
Azy759
Azy759 回复caozhy: 可以对exe文件
4 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复Azy759: http://www.cnblogs.com/tovep/articles/2451708.html
4 年多之前 回复
Azy759
Azy759 问,怎么对一个正在运行的程序改名
4 年多之前 回复
Azy759
Azy759 谢谢,我先去试试
4 年多之前 回复
立即提问