public void xmlParser() {
try {
Acquirer acquirer = (Acquirer) readXml(Constants.XML_PATH);
System.out.println(acquirer.getDate());
} catch (JAXBException | IOException e) {
e.printStackTrace();
}
}
/**
* Initializes of JAXB Context and Unmarshaller.
*/
private static void createContext() {
try {
jaxbContext = JAXBContext.newInstance("com.test.xml.generated");
unmarshaller = jaxbContext.createUnmarshaller();
} catch (JAXBException e) {
e.printStackTrace();
}
}
/**
* This reads the XML file from the resources in ClassPath.
*
* @param xmlFile XML file name as String with relative ClassPath
* @return Unmarashalled XML file
* @throws JAXBException
* @throws IOException
* @throws Exception
*/
public Object readXml(String xmlFile) throws JAXBException, IOException {
if (jaxbContext == null) {
createContext();
}
InputStream stream = getClass().getClassLoader().getResourceAsStream(xmlFile);
BufferedInputStream buffredStream = new BufferedInputStream(stream);
***Error:***
Object obj = unmarshaller.unmarshal(buffredStream);
buffredStream.close();
stream.close();
return obj;
}
javax.xml.bind.UnmarshalException - with linked exception:
[java.io.IOException: Stream closed]
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:246)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:125)
constants.xml_path=“/acquirer.xml”;
只需更改:
InputStream stream = getClass().getClassLoader().getResourceAsStream(xmlFile);
在:
InputStream stream = getClass().getResourceAsStream(xmlFile);
因为当您使用getClass().getClassLoader().getResourceAsStream(xmlFile)
时,它返回null
(找不到资源),并且BufferedInputStream
然后在向构造函数提供null
而不是输入流实例时抛出IOException
。
问题内容: 有没有在Python中使用异常链的标准方法?就像Java异常“引起”一样? 这是一些背景。 我有一个具有一个主要异常类的模块: 在此模块中的某处将有: 基本上,此代码段仅应引发DSError并告诉我发生了什么以及为什么。问题是try块可能会引发许多其他异常,因此我更愿意执行以下操作: 这是标准的pythonic方法吗?我没有在其他模块中看到异常链,那么如何在Python中完成? 问题答
本文向大家介绍异步连接减少(ACL)链接,包括了异步连接减少(ACL)链接的使用技巧和注意事项,需要的朋友参考一下 蓝牙链路层定义了两种类型的数据链路,其中一种是异步无连接(ACL)链路。它是用于通过蓝牙连接传输常规数据包的链接类型。ACL是点对点的多点链接,用于在主设备和一个或多个从设备之间进行不规则通信。 蓝牙ACL链接的功能 ACL是面向数据包的链接,即该链接建立了一个数据包交换网络。 AC
应用程序通常会通过抛出另一个异常来响应异常。 实际上,第一个异常引起第二个异常。 它可以是非常有助于用户知道什么时候一个异常导致另一个异常。 “异常链(Chained Exceptions)”帮助程序员做到这一点。 以下是Throwable中支持异常链的方法和构造函数。 Throwable getCause() Throwable initCause(Throwable) Throwable(St
本文向大家介绍data-structures 异或链接列表,包括了data-structures 异或链接列表的使用技巧和注意事项,需要的朋友参考一下 示例 一个异或链表也被称为内存效率链表。这是双向链接列表的另一种形式。这高度依赖于XOR逻辑门及其属性。 为什么将其称为“内存有效链表”? 之所以这样称呼,是因为与传统的双向链表相比,它使用的内存更少。 这与双向链接列表不同吗? 是的,是的。 甲双
问题内容: 我不明白在代码中具有链接异常的好处。 考虑到Java世界中的ResourceLoader示例,如果程序员知道遇到这种情况的可能性,为什么不捕获相同的异常呢?否则,程序员不必抛出新的实例,就可以在同一代码中捕获这两个异常? 问题答案: 任何人都可以提供有关需要链接异常的信息吗? 文章说得很好: 异常链接允许您将一种异常类型映射到另一种异常类型,以便方法可以抛出与该方法本身处于相同抽象级别
有没有一种更理智的方法来编程以下超级简单的设置/获取/关闭测试程序?请注意,我必须复制 Redis 关闭代码,并将其包含在设置错误路径和获取完整路径中。