Как получить 'java.io.IOException Нет свободного места на устройстве', используя ZipFileSystem - PullRequest
0 голосов
/ 06 июня 2019

Я сохраняю несколько файлов в 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(), и исключение исчезает.

Какие параметры мне нужно увидеть, если файл был успешно записан?

...