我已将更新系统集成到我的 Java 程序中,缺少的一件事是使用 Java 从 URL 下载 jar 文件的方法。怎么能做到这一点?我希望该文件替换现有的文件。我不知道该怎么做。
问问题
11552 次
2 回答
0
这个问题很模糊,但如果你不介意弄脏你的手......
给定一个URL
,您可以使用基本 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 的单独程序。这可以防止更新程序锁定它尝试更新的文件。
于 2013-09-12T03:19:32.193 回答