下载并替换java中正在运行的可执行文件

时间:2015-08-12 06:15:22

标签: java swing jar exe

可以抓住'来自在线(Internet)的文件,例如http://www.example.com/information.html。我知道有几种方法可以逐行获取和读取在线文件(URL),有一种方法可以使用Java下载和保存文件:

URL website = new URL("http://www.website.com/information.html");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("information.html");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

但是哪个是从网页/更新站点下载exe / jar文件的最佳方式?

然而,我的最终目标是设计更新设施。准确地在我的运行(exe / jar)位置下载新文件(exe / jar),并在下载任务完成时自动打开。而不是从运行执行文件(exe / jar)中调用一些东西:

System.exit(0);

我想如果我可以在新的exe / jar从同一个以前的应用程序位置开始时删除以前的exe / jar文件。然后它可以简单地替换。请注意,我想替换像bundle jre / lib这样的其他文件。

这是一项正确的任务还是有任何简单的方法?

1 个答案:

答案 0 :(得分:3)

您可以尝试使用现有框架,而不是重新发明Java应用程序的自动更新。

尝试使用Java Web Start:https://www.java.com/en/download/faq/java_webstart.xml

  

Java Web Start软件允许您下载和运行Java   来自网络的应用程序。 Java Web Start软件:提供   轻松,一键激活应用程序保证您的存在   始终运行最新版本的应用程序消除   复杂的安装或升级程序

同时结帐SO标签: https://stackoverflow.com/tags/java-web-start/info