最近小項目中,數據庫存了一個文件路徑,但是每次取出處理時都會拋出 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);
截前後分號即可。。。
考慮存取時多了一個分號,異常拋出時太隱蔽。望可以爲大家節約時間。