Код: Выделить всё
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future> future = executorService.submit(() -> {
return transferFileMethod(someparameters);
});
Map transferFileMethod(someparameters) {
// Downloading from server
HttpURLConnection urlConnection = (HttpURLConnection) requestUrl.openConnection();
InputStream inputStream = urlConnection.getInputStream();
// Writing to specific location
try (BufferedOutputStream fileOutputStream = new BufferedOutputStream(new FileOutputStream(filePath, true))) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer, 0, 4096)) != -1) {
fileOutputStream.write(buffer, 0, bytesRead);
}
}
}
< /code>
Проблема: < /h3>
Если пользователь отменяет вызов API во время передачи файла, фоновый процесс продолжает записывать файл. Я хочу немедленно остановить передачу файла, когда пользователь отменяет вызов API.
Подробнее здесь: https://stackoverflow.com/questions/795 ... cel-button