最近小项目中,数据库存了一个文件路径,但是每次取出处理时都会抛出 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);
截前后分号即可。。。
考虑存取时多了一个分号,异常抛出时太隐蔽。望可以为大家节约时间。