Я сохраняю несколько файлов в zip-файле, используя файловую систему Java.Если на диске недостаточно места, я не могу получить java.io.IOException No space left on device
, и он ведет себя так, как будто файл zip был успешно создан.
Вот фрагмент из моего проекта:
Path pathToZip = Paths.get("path/to/existing/zip");
try(FileSystem fs = FileSystems.newFileSystem(pathToZip, null)) {
// zip some files via
Path pathToSomeFile = Paths.get("path/of/some/file/to/be/zipped");
Files.copy(pathToSomeFile, fs.getPath("/path/of/some/file/to/be/zipped"));
} catch (IOException ex) {
log.error("error on zipping files", ex);
}
FileSystems.newFileSystem(pathToZip, null)
создает экземпляр ZipFileSystem
.Я отлажен до метода sync()
класса ZipFileSystem
.Затем, когда происходит java.io.IOException No space left on device
, вызывается только x.printStackTrace()
, и исключение исчезает.
Какие параметры мне нужно увидеть, если файл был успешно записан?