2009-06-16 4 views
1

저는 ActionScript에 익숙한 Java에 익숙합니다. 원격 Jar 파일의 다운로드 진행률을 다운로드하고 모니터 할 수있는 방법이 있는지 알고 싶습니다. 애플릿을 다운로드 한 다음 다운로드 한 jar 파일 안에있는 클래스 및 기타 자원을 사용하십시오. JarURLConnection 클래스가 있다는 것을 알고 있지만이 클래스를 통해 다운로드 진행률을 모니터링 할 수있는 방법을 찾을 수 없습니다.원격 jar 파일 다운로드 및 다운로드 진행 상황 모니터링

필요로하는 이유는 JavaFX 애플릿을 필요할 때 다운로드 할 수있는 모듈로 분할하려고하기 때문입니다.

답변

0

모든 Jar 파일을 다운로드하는 기본 동작은 일반적으로 허용됩니다. 진행률 표시 줄이 다운로드되고 표시되지만 사용자가 작업을 분할해야하는 것처럼 들립니다. 수동으로 클래스를 다운로드하고 클래스 패스 (또는 사용자 정의 클래스 로더)에 추가하는 AFAIK는 애플릿에 서명하지 않아도 수행 할 수 없습니다.이 애플릿은 내가 따르기 싫은 경로입니다.

당신은 당신의 정확한 요구 사항을 모른 채 자바 1.6 업데이트를 10

부터 사용할 수 lazy downloading를 살펴 취 할 수 있습니다, 당신이 그것을 나눌 수있는 방법에 대한 내 일반적인 조언은 초기에있는 모든 클래스 파일을 다운로드하는 것입니다 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(); 
     } 
    } 
+0

내가 여기 게으른 로딩에 대한 몇 가지 세부 사항을 발견했습니다 http://pscode.org/jws/api.html#ds –

0

사용자 정의 ClassLoader을 정의하고이를 원격 모듈에 사용할 수 있습니다. 이렇게하면 클래스 바이트가 애플릿으로 전송되는 방식을 정확하게 제어 할 수 있습니다. 한 번에 전체 JAR 파일을로드하려면 필요할 때 사용자 정의 클래스 로더가 JAR 파일을 다운로드하도록하고 JarInputStream으로 압축을 풉니 다.