问题描述
我的微服务在大多数情况下都能正常工作。最近,它在打开要写入的文件时抛出了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选项仅创建文件,而不创建应包含该文件的目录。