FileNotFoundException问题的解决

最近在做一个解压压缩包任务,在操作的过程中,老是在报一个错误,先看下错误的详情图片吧!


一直在显示系统找不到指定的路径,而这错误也很明显地定位到GzipUtils工具类中,自己仔细看了下,感觉没有什么问题呀,检查了n多遍也没有发现问题. 具体报错的这行代码如下所示:

FileNotFoundException问题的解决_第1张图片

很明显问题就是出在new FileOutputStream()这里面,相信大家都清楚,字符输出流内的文件路径,如果不存在的话,会自动给创建出来,但其实不然,大家都忽略一个前提,即如果是在盘符的根目录下,如E:/abc, F:/abc,这样文件层级不深的情况下,是会自动给创建出来的. 

     但如果层级目录超过两级,如E:/abc/eee,E:/abc/eee/fff 等情况,系统是会报FileNotFoundException错误的,这个自己亲自测试过.

     解决的办法: 1.在根目录下,那就不用担心报错了. 2.如果层级过深的话,要保证文件所有的上层文件夹都已经创建,这样才会避免这个错误.

     希望大家在遇到相关需求时,要注意这个坑!!



你可能感兴趣的:(bug大全)