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,并且您可以确保它们所在的服务器返回 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 回答