java.io.FileNotFoundException 文件名、目录名或卷标语法不正确 的处理

最近小项目中,数据库存了一个文件路径,但是每次取出处理时都会抛出 FileNotFoundException 异常

数据库内容:



代码见下:(示例代码)

try {
	        FileInputStream fis=new FileInputStream(TruePath);//新建一个FileInputStream对象
	        try {
	            byte[] b=new byte[fis.available()];//新建一个字节数组
	            fis.read(b);//将文件中的内容读取到字节数组中
	            fis.close();
	            String str2=new String(b);//再将字节数组中的内容转化成字符串形式输出
	            System.out.println(str2);
	        } catch (IOException e) {
	            // TODO Auto-generated catch block
	            e.printStackTrace();
	        }
	        
	    } catch (FileNotFoundException e) {
	        // TODO Auto-generated catch block
	        e.printStackTrace();
	    }


控制台见下:

图片路径=='D:/Program Files/apache-tomcat-6.0.37/webapps/cxxm/resourceFiles/pic_files/20160126202541.jpg'
java.io.FileNotFoundException: 'D:\Program Files\apache-tomcat-6.0.37\webapps\cxxm\resourceFiles\pic_files\20160126202541.jpg' (文件名、目录名或卷标语法不正确。)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at com.wheal.classes.WordUtil.insertPicture(WordUtil.java:183)
	at com.wheal.classes.WordUtil.processParagraphs(WordUtil.java:109)
	at com.wheal.classes.WordUtil.generateWord(WordUtil.java:60)
	at com.wheal.classes.Test.main(Test.java:46)
**处理完成**


而将数据库的路径写入字符串可以正常运行,考虑多时无果,最终仔细发现抛出的异常前后有个分号 ( ‘ )

 'D:\Program Files\apache-tomcat-6.0.37\webapps\cxxm\resourceFiles\pic_files\20160126202541.jpg'

于是下面的代码出现了。。

TruePath = TruePath.substring(1, TruePath.length()-1);


截前后分号即可。。。


考虑存取时多了一个分号,异常抛出时太隐蔽。望可以为大家节约时间。




评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值