如何使用ZipFileSystem获取“ java.io.IOException设备上没有剩余空间”

时间:2019-06-06 09:26:06

标签: java java-8 nio2

我使用Java的FileSystem将多个文件保存为zip文件。如果没有足够的磁盘空间,我将无法获得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()并且异常消失了。

我必须查看哪些选项才能成功写入文件?

0 个答案:

没有答案