【发布时间】:2012-12-25 04:23:25
【问题描述】:
我正在尝试使用Files.write() 方法将一些文本写入文件。
byte[] contents = project.getCode().getBytes(StandardCharsets.UTF_8);
try {
Files.write(project.getFilePath(), contents, StandardOpenOption.CREATE);
} catch (IOException ex) {
ex.printStackTrace();
return;
}
根据 API,如果文件不存在,则会创建并写入该文件。
但是,我明白了:
java.nio.file.NoSuchFileException: C:\Users\Administrator\Desktop\work\Default.txt
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
at java.nio.file.spi.FileSystemProvider.newOutputStream(Unknown Source)
at java.nio.file.Files.newOutputStream(Unknown Source)
at java.nio.file.Files.write(Unknown Source)
我错过了什么吗?
【问题讨论】:
-
目录
C:\Users\Administrator\Desktop\work是否存在? (以及你为什么要以管理员的身份发展?) -
使用 file.getParentFile().mkdirs();
-
是的,我很愚蠢。我忘了检查文件夹是否存在:D
标签: java file file-io filenotfoundexception