java.io.FileNotFoundException does not exist.

    今天碰见了一个问题,代码生成器在test的过程中一直在报错。

    java.io.FileNotFoundException 

    E:\insurance%20controller\2018.04.23\insurance\insurance-business\target\classes\templates\freemarker 

    does not exist.


    这是一个常见的IO异常,无非就两种情况,一种是file 真的不存在,另一种想法是用户权限没有获得。

    但经过了20分钟,发现不是两种以上情况,正当我迷茫之际,突然看见了 %20 这个东西。

    这个文件夹中含有一个空格,FileOutputStream生成对象的时候,路径中的空格会被编码转换成%20,这个时候问题就来了,系统就会报错,找不到指定文件。
(ps:路径中存在中文和特殊字符也会引起这个问题。)


在别处找到了解决方案,连接在这里 http://www.360doc.com/content/11/1009/17/4602013_154657565.shtml

方法2 : URLDecoder.decode(path,"UTF-8");

我选了一个很直接的方法:把文件名的“space”删掉,当然了 这是我项目的上层文件夹,修改一下无所谓的,项目比较小,重新配置一下就好了。 如果是项目内文件夹出现此类错误的应当采用方法2 进行UTF-8的解码。


编程了这么久,发现阿里的代码规范还是有必要一看的。 严格按照代码规范进行变成和起名,有助于减少此类不必要的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值