Получить размер файла JAR, загруженного urlclassloader - PullRequest
0 голосов
/ 28 апреля 2009

Кто-нибудь знает хороший способ найти размер файла, который динамически загружается 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);

Заранее спасибо!

1 Ответ

0 голосов
/ 23 августа 2009

Если вы знаете, что загружаемые URL-адреса являются URL-адресами http, и вы можете убедиться, что сервер, на котором они находятся, возвращает заголовок 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...