2015-10-25 2 views
1

это мой код загрузить изображение ширина процент [Java]:Используем ли мы, когда URLConnection Загрузите файл?

URL url = new URL(imageUrl); 
    OutputStream os; 
    URLConnection connection = url.openConnection(); 
    connection.connect(); 
    int fileLenth = connection.getContentLength(); 
    try (InputStream is = url.openStream()) { 
     os = new FileOutputStream(destinationFile); 
     byte[] b = new byte[2048]; 
     int length; 
     int count = 0; 
     double sumCount = 0.0; 
     while ((length = is.read(b)) != -1) { 
      os.write(b, 0, length); 

      sumCount += count; 
      if (fileLenth > 0) { 
       System.out.println("Percentace: " + (sumCount/fileLenth * 100.0) + "%"); 
      } 
     } 
    } 
    os.close(); 

я хочу знать, когда я с помощью:

URLConnection connection = url.openConnection(); 
connection.connect(); 
int fileLenth = connection.getContentLength(); 

ли загружается файл? Если это правда, файл будет загружен дважды, и это не хорошо вы можете помочь мне для лучшей производительности? благодаря

+0

@Titus Вы должны сделать это ответ. – Kayaman

+0

@ Kayaman спасибо за предложение, я только что сделал это. – Titus

ответ

3

getContentLength() метод не загружает файл, он просто возвращает значение заголовка content-length (если есть), more details here

Смежные вопросы