问题描述
最近在品优购项目中开发图片上传服务时,调试过程中毫无问题,但是一旦发布到项目中使用,就崩溃掉,崩溃提示信息:
java.io.FileNotFoundException: D:\Java%20Project\pingyougou-parent\pinyougou-manager-web\target\classes\config\fdfs_client.conf (系统找不到指定的路径。)
由此我们可以看出一些眉目:提示中的路径中出现了一个%20,对比我们的实际路径
发现这个%20可能代表空格,但是系统找路径时并不能自动转化。
对此我们有了思路,应该是每一个地方转化时出错了,我们按照程序一步步深入展开。
我们发现FastDFS文件服务器时需要读取配置文件的路径,采用了this.getClass().getResource(“/”).getPath()的方法来取得存放 class 的物理路径。
经过查阅资料发现:TestURL().class.getResource("").getPath()或TestURL().class.getResource("").getFile()获得的路径,不能被FileReader()和FileWriter