У меня есть следующий код, который копирует содержимое (zip-архив) с URL-адреса в файл.
String url = // my https URL string
try {
org.apache.commons.io.FileUtils.copyURLToFile(new URL(url), outputFile);
} catch (IOException ex) {
throw new RuntimeException(ex);
}
Моя проблема не с загрузкой. После загрузки я извлекаю zip-файл, используя эту библиотеку. Иногда операция «распаковать» завершается неудачно и выдается следующая ошибка.
org.zeroturnaround.zip.ZipException: java.util.zip.ZipException: error in opening zip file
at org.zeroturnaround.zip.ZipExceptionUtil.rethrow(ZipExceptionUtil.java:11)
at org.zeroturnaround.zip.ZipUtil.unpackEntry(ZipUtil.java:276)
...
Я извлекаю только один файл из zip-архива. Код для распаковки ниже.
org.zeroturnaround.zip.ZipUtil.unpackEntry(myZipFile, filePath, targetFile);
Я думаю, что мне нужно проверить состояние HTTP перед загрузкой. Есть ли лучший способ решить это. Пожалуйста, помогите.