Доброго времени суток. Мне надо способ скачивать множество файлов одновременно по определённому пути в определённый каталог. В принципе как это сделать я знаю. Самый лёгкий способ через FileUtils, но мне нужно мониторить прогресс. Есть вариант с прогрессом, может быть какая-нибудь библиотека? Я нашёл множество замечательных android библиотек, но для desktop я ничего не нашёл.
public class DownloadProgress {
public static void main(String[] args) {
final JProgressBar progressBar = new JProgressBar();
JFrame frame = new JFrame();
frame.setContentPane(progressBar);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(300, 70);
frame.setVisible(true);
new Thread(() -> {
try {
URL url = new URL("http://gornostaev.su/media/files/data.zip");
HttpURLConnection httpConnection = (HttpURLConnection) (url.openConnection());
long fileSize = httpConnection.getContentLength();
long chunkSize = fileSize / 100;
try (BufferedInputStream in = new BufferedInputStream(httpConnection.getInputStream());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("data.zip"), 1024)) {
byte[] data = new byte[1024];
long downloaded = 0;
int read = 0;
while ((read = in.read(data, 0, 1024)) != -1) {
out.write(data, 0, read);
downloaded += read;
final int progress = (int) (downloaded / chunkSize);
SwingUtilities.invokeLater(() -> {
progressBar.setValue(progress);
});
}
}
}
catch (FileNotFoundException exc) {}
catch (IOException exc) {}
SwingUtilities.invokeLater(() -> {
progressBar.setString("Done");
progressBar.setStringPainted(true);
});
}).start();
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
По таймеру слежу за сообщениями от сокет сервераСо временем программа вылетает
Всем привет, помогите разобраться, на activity есть главная кнопка, нажатие на неё должно приводить к созданию дочерней кнопки, след нажатие на главную...
Имеется две TextView и довольной большой текст, не помещающийся целиком на одну TextViewКаким образом можно сделать перенос не помещающегося текста...