我是靠谱客的博主 矮小枫叶,最近开发中收集的这篇文章主要介绍java使用File写入文件出现java.io.FileNotFoundException错误解决办法(无法生成文件而是生成目录),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
java使用File写入文件图片出现java.io.FileNotFoundException错误解决办法(无法生成文件而是生成目录)
java.io.FileNotFoundException错误解决(使用!f.isDirectory()判断)
入坑许久,这个错误让我头疼了一下午。当我们使用File类创建文件时,会遇见被拒绝访问的错误异常。本人在网上搜索基本都是后缀名没有添加,但是这也无法解决本人问题(磁盘写入权限已检查,没有问题),以致我认为是电脑出现了问题。但在我仔细检查后,发现是方法逻辑问题。
修改前代码
FileOutputStream fos = null;
File f = new File("f:\upload\temp.txt");
if (!f.isDirectory()){
f.mkdirs();
}
fos = new FileOutputStream(f);
执行后
你可能会觉得这段代码没错,但是它无法生成.txt文件还会java.io.FileNotFoundException错误,并且生成一个命名temo.txt的文件夹。问题就在于!f.isDirectory(),它把temo.txt当成一个目录判断为不存在了,就执行了 f.mkdirs();生成了该目录。
修改后代码
FileOutputStream fos = null;
File f = new File("f:\upload");
if (!f.isDirectory()){
f.mkdirs();
}
f = new File("f:\upload\temp.txt");
fos = new FileOutputStream(f);
从代码可以看出,我们可以先判断目录是否存在,并创建,然后再创建文件。
执行后
问题解决,开心。
最后
以上就是矮小枫叶为你收集整理的java使用File写入文件出现java.io.FileNotFoundException错误解决办法(无法生成文件而是生成目录)的全部内容,希望文章能够帮你解决java使用File写入文件出现java.io.FileNotFoundException错误解决办法(无法生成文件而是生成目录)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复