2015-06-18 54 views
3

情景
我使用JAXB 2.0,我不得不從需要被解組web服務接收XML文件的過程。名稱由web服務,並與格式提供:JAXB UnmarshalException - 包含文件名#

ESA08021701#99152015AA00024175#20150612#20150618125838_NOTIF_250073.xml 

問題
當我試圖來解讀此文件:

File file = // get my file from a list 
unmarshaller.unmarshal(file); 

我得到這個UnmarshalException

javax.xml。 bind.UnmarshalException - 帶有鏈接的異常: [java.io. FileNotFoundException異常:ESA08021701(該系統找不到指定的文件) 在javax.xml.bind.UnmarshalException(UnmarshalException.java:56)

我已經notticed在Exception的文件名是不完滿成功ESA08021701,但調試我可以看到文件名是正確的,File存在...

問題
這是一個錯誤? AFAIK #不是文件名的特殊字符嗎?我如何處理這些文件?

回答

3

在文檔和論壇經過研究,我想這仍然是一個JaxB問題,但最後我發現FileInputStream解決類似的問題,可以爲別人有用:

File file = // get my file from a list 
Object unmarshalled = unmarshaller.unmarshal(new FileInputStream(myFile));