簡體   English   中英

下載遠程jar文件並監視下載進度

[英]Download remote jar files and monitor the download progress

我是Java的新手(我來自ActionScript背景),我想知道是否有一種方法可以下載和監視applet中遠程jar文件的下載進度,然后使用其中的類和其他資源下載的jar。 我知道有一個JarURLConnection類,但找不到通過此類監控下載進度的方法。

之所以需要這樣做,是因為我試圖將JavaFX applet分為模塊,可以按需下載。

通常可以接受下載所有Jar文件的默認行為,它會下載並顯示進度條,但這聽起來像您需要拆分內容。 AFAIK,手動下載類並添加到類路徑(或自定義類加載器)中,必須在未簽名小程序的情況下完成,這是我想您不希望遵循的路徑。

您可能想看一下懶惰下載 ,它從Java 1.6 update 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();
        }
    }

您可以定義一個自定義的ClassLoader並將其用於您的遠程模塊。 這將使您可以精確控制類字節如何傳輸到小程序。 如果要一次加載整個JAR文件,則可以使自定義類加載器在需要時下載JAR文件,並使用JarInputStream解壓縮它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM