does not exist.

时间:2025-01-23 09:24:31

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

     

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

    does not exist.


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

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

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


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

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

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


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