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 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐