可以抓住'来自在线(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这样的其他文件。
这是一项正确的任务还是有任何简单的方法?
答案 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