[英]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.