0

我已将更新系统集成到我的 Java 程序中,缺少的一件事是使用 Java 从 URL 下载 jar 文件的方法。怎么能做到这一点?我希望该文件替换现有的文件。我不知道该怎么做。

4

2 回答 2

0
  1. 使用特定文件夹中的 httpclient 库下载文件。这是一个例子另一个使用 JavaURLConnection类的例子。
  2. 移动/删除/备份现有文件。
  3. 复制下载的文件替换之前的文件。
于 2013-09-12T02:21:11.463 回答
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 回答