java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java使用file.createNewFile()创建文件时报错目录不存在

解决java使用file.createNewFile()创建文件时报错目录不存在的问题

作者:鲸落ж

这篇文章主要介绍了解决java使用file.createNewFile()创建文件时报错目录不存在的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

使用file.createNewFile()创建文件时报错目录不存在

普通创建文件代码

String strPath = "E:\\test\\test1\\test.txt";
File file = new File(strPath);
if(!file.exists())){
	file.createNewFile();
}

上述这段代码,当E:\test\test1目录不存在时,createNewFile()执行会报错:

java.io.IOException:Parent directory of file does not exist

String strPath = "E:\\test\\test1\\test.txt";
File file = new File(strPath);
if(!file.exists())){
	file.mkdirs();
}

这段代码会创建目录

E:\test\test1\test.txt\

String strPath = "E:\\test\\test1\\test.txt";
File file = new File(strPath);
File fileParent = file.getParentFile();
if(!fileParent.exists()){
	fileParent.mkdirs();
}
file.createNewFile();

上述这段代码可以成功创建文件。

原因:

先判断文件所处目录是否存在,如果不存在则递归创建目录;注意是mkdirs()而不是mkdir()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文