java - 下载远程jar文件并监控下载进度

标签 java jar applet

我是 Java 新手(我有 ActionScript 背景),我想知道是否有一种方法可以下载并监视小程序内远程 jar 文件的下载进度,然后使用类和其他资源位于下载的 jar 内。我知道有一个 JarURLConnection 类,但我找不到通过该类监视下载进度的方法。

我需要这样做的原因是因为我正在尝试将 JavaFX 小程序分成多个模块,以便按需下载。

最佳答案

下载所有 Jar 文件的默认行为通常是可以接受的,它会下载并显示进度条,但听起来您需要将东西分开。 AFAIK,如果不签署您的小程序,就无法手动下载类并添加到类路径(或自定义类加载器),这是我猜您不想遵循的路径。

您可能想看看 lazy downloading ,自 Java 1.6 更新 10 起可用。

在不知道您的确切要求的情况下,我对如何拆分它的一般建议是下载初始 Jar 中的所有类文件并根据需要下载资源(图像/声音/属性)。

如何从小程序中下载的代码:

    URL url = new URL(getCodeBase(), filename);
    URLConnection urlConnection = url.openConnection();
    BufferedInputStream bufferedInputStream = null;
    try {
        bufferedInputStream = new BufferedInputStream(urlConnection.getInputStream());
        // ... input data
    } finally {
        if (bufferedInputStream != null) {
            bufferedInputStream.close();
        }
    }

关于java - 下载远程jar文件并监控下载进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/999586/

相关文章:

java - 无法比较日期

java - 使用 Maven 导出 .jar 时出现 NoClassDefFoundError

java - Web 小程序的 jar 签名问题

java.security.AccessControlException : access denied ("java.awt.AWTPermission" "accessClipboard")

java - 我如何允许用户将视频流式传输到 Web 应用程序进行存储?

java - textview不显示文本

java - 使用 Java 运行 .reg 文件

java + eclipse + apple snow : missing javax. servlet.*

java - 如何使用openssl解密Java使用AES加密的数据

java - mac、java 1.5 : javax. 邮件无法识别为 jar 文件