2013-09-18 4 views
1

В моем приложении Java я использую следующий метод для загрузки файлов с сервера.Загрузить файл с сервера в java

public void kitapJar(){ 
    File f = new File("C:/PubApp_2.0/update/lib/kitap.jar"); 
    try{ 

    URL kitap = new URL("http://example.com/update/PubApp_2.0.jar"); 
    org.apache.commons.io.FileUtils.copyURLToFile(kitap, f); 
    } 
    catch(IOException ex){ 
    System.out.println("Error...!!");} 
    } 
    } 

Но эта загрузка очень медленная. Как я могу сделать это быстро?

+1

Быстрее ли это при загрузке файла с помощью веб-браузера? – Kai

+0

Нет, это медленнее, чем веб-браузер. –

+0

Возможный дубликат [загрузка с java-кодом очень медленная] (http://stackoverflow.com/questions/5422552/download-with-java-code-is-really-slow) – Kai

ответ

13

Почему так много программистов так быстро добавляет зависимости сторонней библиотеки к их коду?

try(
    ReadableByteChannel in=Channels.newChannel(
    new URL("http://example.com/update/PubApp_2.0.jar").openStream()); 
    FileChannel out=new FileOutputStream(
    "C:/PubApp_2.0/update/lib/kitap.jar").getChannel()) { 

    out.transferFrom(in, 0, Long.MAX_VALUE); 
} 

Этот код передает содержимое URL-адреса в файл без какой-либо сторонней библиотеки. Если он все еще медленный, вы знаете, что это не дополнительная библиотека и, скорее всего, не ошибка Java. По крайней мере, здесь вы ничего не можете улучшить. Итак, вы должны искать причину вне JVM.

+0

Проблема решена, поскольку я поставил полный путь к файлу: –

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