Java 使用输入流从XML文件读取属性?
目前在我的Java 使用输入流从XML文件读取属性?,java,xml,properties,static,inputstream,Java,Xml,Properties,Static,Inputstream,目前在我的Java应用程序中,我有以下类,用于从我的属性文件(Application.properties)检索值: 使用MyProperties类实例化int的示例: int maxNumberOfPeople = Integer.parseInt(MyProperties.getProperty("maximumPeople")); 我想更改此类,以便读取XMLproperties文件,而不是application.properties文件 如何做到这一点,并且仍然能够使用MyProper
Java
应用程序中,我有以下类
,用于从我的属性
文件(Application.properties)检索值:
使用MyProperties
类实例化int
的示例:
int maxNumberOfPeople = Integer.parseInt(MyProperties.getProperty("maximumPeople"));
我想更改此类,以便读取XML
properties文件,而不是application.properties文件
如何做到这一点,并且仍然能够使用MyProperties类实例化值?请阅读Properties.loadFromXML(…)
方法的说明
方法总结:
将指定输入流上XML文档表示的所有属性加载到此属性表中
Properties
javadoc包含XML文档(文件)的DTD
最好使用以下资源编写加载程序:
try (java.io.InputStream in = MyProperties.class.getClassLoader().
getResourceAsStream("application.properties")) {
// load properties
} catch (Exception e) {
e.printStackTrace();
}
此外,捕获并挤压这样的异常也是一个坏主意
properties.loadFromXML(…)
方法
方法总结:
将指定输入流上XML文档表示的所有属性加载到此属性表中
Properties
javadoc包含XML文档(文件)的DTD
最好使用以下资源编写加载程序:
try (java.io.InputStream in = MyProperties.class.getClassLoader().
getResourceAsStream("application.properties")) {
// load properties
} catch (Exception e) {
e.printStackTrace();
}
此外,捕获并挤压这样的异常也是一个坏主意
最后,您可能不应该在静态初始值设定项中加载属性,因为这样就没有干净的方法来处理可能出现的任何异常。看看这里:将问题标记为“太宽”。也有不同的方法可以做到这一点(基于观点)。请尝试一些东西,如果它不起作用,发布代码和你面临的错误。看看这里:将问题标记为“太宽”。也有不同的方法可以做到这一点(基于观点)。请尝试一些东西,如果它不起作用,张贴代码和你面临的错误。