nio.channels.FileChannel.open 抛出 NoSuchFileException

nio.channels.FileChannel.open threw NoSuchFileException

我有一个大多数时候都运行良好的微服务。最近它在打开要写入的文件时抛出 NoSuchFileException 异常:

    FileChannel.open(Paths.get("/tmp/somethingirrelevant"), StandardOpenOption.CREATE, StandardOpenOption.APPEND);

我不明白为什么它会抛出这样的异常,考虑到如果它不存在它会创建一个新的。

抛出 NoSuchFileException 的一种情况是当中间路径组件不存在时:

FileChannel.open(Paths.get("/tmp/does/not/exist"), StandardOpenOption.CREATE, StandardOpenOption.APPEND);

CREATE 选项只创建文件,它不创建应该包含文件的目录。