【发布时间】:2013-09-16 05:59:24
【问题描述】:
我已将更新系统集成到我的 Java 程序中,缺少的一件事是使用 Java 从 URL 下载 jar 文件的方法。怎么能做到这一点?我希望该文件替换现有的文件。我不知道该怎么做。
【问题讨论】:
-
你可能想看看这个:stackoverflow.com/questions/921262/…
标签: java jar download executable executable-jar
我已将更新系统集成到我的 Java 程序中,缺少的一件事是使用 Java 从 URL 下载 jar 文件的方法。怎么能做到这一点?我希望该文件替换现有的文件。我不知道该怎么做。
【问题讨论】:
标签: java jar download executable executable-jar
URLConnection 类。 【讨论】:
这个问题很模糊,但如果你不介意弄脏你的手的话......
给定URL,您可以使用Basic I/O下载内容
URL url = new URL("....");
InputStream is = null;
OutputStream os = null;
try {
os = new FileOutputStream(new File("..."));
is = url.openStream();
// Read bytes...
} catch (IOException exp) {
exp.printStackTrace();
} finally {
try {
is.close();
} catch (Exception exp) {
}
try {
os.close();
} catch (Exception exp) {
}
}
您可以使用 File#renameTo 简单地安装这些更新
您将遇到的下一个问题是安装更新。您可能遇到的问题是锁定文件。如果任何 Java 进程正在使用 Jar,您将无法更新它们...
现在,这需要一些巧妙的杂耍才能发挥作用,具体取决于您的情况。通常,您希望使更新程序成为不依赖任何应用程序 jar 的单独程序。这可以防止更新程序锁定它正在尝试更新的文件。
【讨论】: