Ben döngü yöntemlerine iken birkaç byte ve aşağıdaki bu yöntemi denedim:Java'da bir dosyayı nasıl indirebilirim?
try {
URL dl = null;
dl = new URL("http://ds-forums.com/kyle-tests/uploads/Screenshots.zip");
ReadableByteChannel rbc = Channels.newChannel(dl.openStream());
FileOutputStream fos = new FileOutputStream(fileName + "Screenshots.zip");
fos.getChannel().transferFrom(rbc, 0, 1 << 24);
System.out.println(fos.getChannel().size());
fos.close();
rbc.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Ama yöntemler sadece hızlı/çok verimli değildir. Ben apache Utils öğrendim ve ben
IOUtils.copy(new URL("http://ds-forums.com/kyle-tests/uploads/Screenshots.zip").openStream(), new FileOutputStream(System.getProperty("user.home").replace("\\", "/") + "/Desktop/Screenshots.zip"));
kullanarak ama en iyi yöntem olmasıdır ediyorum? Şimdiye kadar kafam çok karışıktır, zikzaklı bir dosya 26mb'yi indirmek için en uygun yöntem hangisidir. (Yukarıdaki dosya sadece 1mb'dir. Yöntemleri test ediyorum)
Sadece bir başkasının bu problemle karşılaşıp karşılaşmadığını görmek istiyorum ve belki bana yardım edebilirler. Teşekkürler.
Dosyayı birden fazla iş parçacığı ile indirmenizi öneriyorum. JDownloader kaynak koduna bir göz atın. – fardjad