2009-04-28 6 views
0

Kennt jemand eine gute Möglichkeit, die Dateigröße zu finden, die von urlclassloader dynamisch geladen wird?Größe der von urlclassloader geladenen JAR-Datei abrufen

Ich benutze den urlclassloader in der folgenden Weise, aber müssen verfolgen, wie viel Bandbreite verwendet wird.

URLClassLoader sysloader = (URLClassLoader) ClassLoader 
      .getSystemClassLoader(); 
Class<URLClassLoader> sysclass = URLClassLoader.class; 
Method method = sysclass.getDeclaredMethod("addURL", parameters); 
method.setAccessible(true); 
method.invoke(sysloader, (Object[]) urls); 

Vielen Dank im Voraus!

Antwort

0

Wenn Sie die Urls werden geladen kennen, sind http-URLs, und Sie können den Server sie sind auf die Renditen ein Content-Length-Header gewährleisten, können Sie ihre Größe mit der folgenden erhalten:

public static int getContentLength (URL url) 
    throws IOException 
{ 
    String contentLength = url.openConnection().getHeaderField("Content-Length"); 
    if (contentLength == null) { 
     throw new IllegalArgumentException(url + " didn't have a " 
      + "Content-Length header"); 
    } else { 
     return Integer.parseInt(contentLength); 
    } 
} 
Verwandte Themen