gpt4 book ai didi

java - JAXB UnmarshalException - 包含 # 的文件名

转载 作者:数据小太阳 更新时间:2023-10-29 02:26:10 26 4
gpt4 key购买 nike

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

ESA08021701#99152015AA00024175#20150612#20150618125838_NOTIF_250073.xml

问题
当我尝试解码这些文件时:

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

我得到这个 UnmarshalException

javax.xml.bind.UnmarshalException - with linked exception: [java.io.FileNotFoundException: ESA08021701 (The system cannot find the file specified.)] at javax.xml.bind.UnmarshalException.(UnmarshalException.java:56)

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

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

最佳答案

在对文档和论坛进行研究之后,我猜这仍然是一个 JaxB 问题,但最终我找到了一个使用 FileInputStream 的解决方法,它对其他人也很有用:

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

关于java - JAXB UnmarshalException - 包含 # 的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30920810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com