0

urlclassloader によって動的にロードされるファイルサイズを見つける良い方法を知っている人はいますか?

次の方法で urlclassloader を使用していますが、使用されている帯域幅を追跡する必要があります。

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

前もって感謝します!

4

1 に答える 1

0

読み込まれている URL が http URL であることがわかっていて、その URL が存在するサーバーが Content-Length ヘッダーを返すことを確認できる場合は、次のようにしてサイズを取得できます。

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);
    }
}
于 2009-08-23T17:06:57.157 に答える