写在前面
当执行file.createNewFile()时报父目录不存在。java.io.IOException:Parent directory of file does not exist
问题原因
createNewFile(),该方法只能用来创建文件,且只能在已存在的目录下创建文件,否则会创建失败。
解决方案
public void export(String path) throws IOException {
...
File file = new File(path);
if (!file.exists() && file.isFile()) {
if (file.isFile() && !file.exists()) {
// 创建上级目录
// mkdir(), 只能创建一级目录,如果上级不存在,就会创建失败。
// mkdirs(), 能够创建多级目录,如果上级不存在,就会自动创建。
file.getParentFile().mkdirs();
}
file.createNewFile();
}
...
}
当尝试使用Java的File类的createNewFile()方法创建文件时,如果文件的父目录不存在,会抛出IOException。解决此问题的方法是先检查并创建父目录,可以使用getParentFile().mkdirs()确保多级目录的创建。这样在文件创建前会自动创建缺失的上级目录。
552

被折叠的 条评论
为什么被折叠?



