Я написал код, используя Swing для графического интерфейса и Swingworker, который обрабатывает загрузку с помощью клиента синхронизации.
это то, что метод doInBackground () рабочего должен:
1) подтвердить метку с текущим файлом для загрузки 2) загрузить этот файл.
for (HashMap.Entry<String, Long> s: DCPFiles.entrySet()) {
jLabel5.setText("Download file " + Integer.toString(directory.listFiles().length + 1) + " di " + Integer.toString(nFilesDCP) + " del DCP "+ DCPname);
s3.getObject(GetObjectRequest.builder().bucket(bucketName)
.key(s.getKey()).build(),
ResponseTransformer.toFile(Paths.get(path.getPath()+ "\\" + s.getKey())));
}
У меня также есть индикатор прогресса в интерфейсе GUI, который я бы подтвердил с прогрессом.Поскольку в aws-java-sdk-v2 пока нет прогресслистера, я мог бы опросить частично загруженный файл и разделить его на ожидаемый размер, чтобы обновить индикатор прогресса.Но как это сделать?а цикл на s3.getObject?И при каких условиях?
Заранее спасибо -