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);


截前後分號即可。。。


考慮存取時多了一個分號,異常拋出時太隱蔽。望可以爲大家節約時間。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章