2009-06-16 71 views
1

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

我需要這樣做的原因是因爲我試圖將JavaFX小程序分爲多個模塊,可以根據需要下載。

回答

0

下載所有Jar文件的默認行爲通常是可以接受的,它會下載並顯示一個進度條,但聽起來好像您需要分割一些東西。 AFAIK,手動下載類並添加到類路徑(或自定義類加載器)不能沒有簽名你的applet,這是我不想遵循的路徑。

你可能想看看lazy downloading,可自從Java 1.6更新10

不知道您的具體要求,我對你怎麼可以把它分解一般的建議是要下載初始的所有類文件Jar並根據需要下載資源(圖像/聲音/屬性)。

代碼如何從applet中下載:

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(); 
     } 
    } 
+0

我還發現,約延遲加載更多的一些細節在這裏:http://pscode.org/jws/api.html#ds – 2009-06-17 23:48:54

0

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