У меня есть типичная реализация, как показано ниже, которая записывает zip-файл, используя папку с файлами xlsx в среде linux centos 6.9 в качестве источника.Проблема заключается в том, что иногда операция zip.write () может зависать и бесконечно увеличивать zip-файл из-за определенного одного файла, в результате чего в среде заканчивается свободное место.
Я хотел бы реализоватьотказоустойчивый, который предотвращает это, путем обнаружения операции записи, ошибочно увеличивает zip-файл.Есть ли в Java чистый способ добиться этого?
FileInputStream fis = new FileInputStream(file);
// we want the zipEntry's path to be a relative path that is relative
// to the directory being zipped, so chop off the rest of the path
String zipFilePath = file.getCanonicalPath().substring(
directoryToZip.getCanonicalPath().length() + 1,
file.getCanonicalPath().length());
ZipEntry zipEntry = new ZipEntry(zipFilePath);
zos.putNextEntry(zipEntry);
byte[] bytes = new byte[1024];
int length;
while ((length = fis.read(bytes)) >= 0) {
zos.write(bytes, 0, length);
}
zos.closeEntry();
fis.close();