Как убить вызов BufferedInputStream .read ()

Я работаю над написанием программы для загрузки очень больших файлов (~ 2 ГБ) с сервера. Я написал программу, чтобы иметь возможность возобновить частично законченные загрузки,

Чтобы смоделировать плохое подключение к Интернету, во время загрузки я вытаскивал сетевой шнур из маршрутизатора. К сожалению, это приводит к зависанию моей программы при следующем вызове:while((bytesRead = in.read(data)) > 0)

(Где bytesRead - это int, in - это BufferedInputStream, созданный из HttpURLConnection, а данные - это байтовый массив).

Я попытался «прервать» вызов, вызвав in.close () в другом потоке, но это не имеет никакого эффекта, пока не будет восстановлено интернет-соединение (в это время выдается исключение).

Можно ли каким-то образом предотвратить прерывание работы программы из-за разорванного подключения к Интернету?

Ответы на вопрос(3)

Ваш ответ на вопрос