【问题标题】:JAXB UnmarshalException - Filename containing #JAXB UnmarshalException - 文件名包含 #
【发布时间】:2015-06-18 16:23:55
【问题描述】:

场景
我正在使用 JAXB 2.0,并且我有一个从需要解组的 web 服务接收 xml 文件的进程。名称由 webservice 提供,格式为:

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)

我注意到Exception 中的文件名不完整ESA08021701,但调试我可以看到文件名是正确的并且File 存在...

问题
这是一个错误吗? AFAIK # 不是文件名的特殊字符?我该如何处理这些文件?

【问题讨论】:

    标签: java xml jaxb unmarshalling


    【解决方案1】:

    在文档和论坛中研究之后,我想这仍然是 JaxB 问题,但最后我找到了 FileInputStream 的解决方法,对其他人有用:

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

    【讨论】:

      猜你喜欢
      • 2011-07-03
      • 2014-12-18
      • 2013-12-30
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 2020-01-31
      相关资源
      最近更新 更多