将a.properties改成a.xml

y11111494 2009-12-29 05:18:49
给举个例子,用xml实现属性配置文件?
如何用java调用读取该xml文件?
谢谢
...全文
152 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
y11111494 2009-12-31
  • 打赏
  • 举报
回复
学习
sAS112UUUYY111 2009-12-30
  • 打赏
  • 举报
回复
有想法
zhang2chenggong 2009-12-30
  • 打赏
  • 举报
回复
帮顶
y11111494 2009-12-30
  • 打赏
  • 举报
回复
建议不错
zhangersong 2009-12-30
  • 打赏
  • 举报
回复
zhangersong 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 :]
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。

一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。

因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项。相反,应该使用 setProperty 方法。如果在“不安全”的 Properties 对象(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用将失败。类似地,如果在“不安全”的 Properties 对象(即包含非 String 的键)上调用 propertyNames 或 list 方法,则该调用将失败。

load(Reader) / store(Writer, String) 方法按下面所指定的、简单的面向行的格式在基于字符的流中加载和存储属性。除了输入/输出流使用 ISO 8859-1 字符编码外,load(InputStream) / store(OutputStream, String) 方法与 load(Reader)/store(Writer, String) 对的工作方式完全相同。可以使用 Unicode 转义来编写此编码中无法直接表示的字符;转义序列中只允许单个 'u' 字符。可使用 native2ascii 工具对属性文件和其他字符编码进行相互转换。

[/Quote]
huntor 2009-12-29
  • 打赏
  • 举报
回复
loadFromXML

public void loadFromXML(InputStream in)
throws IOException,
InvalidPropertiesFormatException
将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。
该 XML 文档必须具有以下 DOCTYPE 声明:

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

而且该文档还必须满足上述属性 DTD 的要求。
此方法返回后,指定的流已关闭。

参数:
in - 从中读取 XML 文档的输入流。
抛出:
IOException - 如果读取指定的输入流导致 IOException。
InvalidPropertiesFormatException - 输入流中的数据没有按要求的文档类型组成有效的 XML 文档。
NullPointerException - 如果 in 为 null。
从以下版本开始:
1.5
另请参见:
storeToXML(OutputStream, String, String)
storeToXML

public void storeToXML(OutputStream os,
String comment)
throws IOException
发出一个表示此表中包含的所有属性的 XML 文档。
以 props.storeToXML(os, comment) 的形式调用此方法的行为与调用 props.storeToXML(os, comment, "UTF-8"); 完全相同。

参数:
os - 根据其内容发出 XML 文档的输出流。
comment - 属性列表的描述,如果没有所需的注释,则为 null。
抛出:
IOException - 如果写入指定的输出流导致一个 IOException。
NullPointerException - 如果 os 为 null。
ClassCastException - 如果此 Properties 对象包含任何不是 String 的键或值。
从以下版本开始:
1.5
另请参见:
loadFromXML(InputStream)
storeToXML

public void storeToXML(OutputStream os,
String comment,
String encoding)
throws IOException
使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档。
该 XML 文档要具有以下 DOCTYPE 声明:

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

如果指定的注释为 null,则没有注释存储在该文档中。

此方法返回后,指定的流仍保持打开状态。

参数:
os - 根据其内容发出 XML 文档的输出流。
comment - 属性列表的描述,如果没有所需的注释,则为 null。
抛出:
IOException - 如果写入指定的输出流导致一个 IOException。
NullPointerException - 如果 os 为 null,或者 encoding 为 null。
ClassCastException - 如果 Properties 对象包含任何不是 String 的键或值。
从以下版本开始:
1.5
另请参见:
loadFromXML(InputStream)
xinji84 2009-12-29
  • 打赏
  • 举报
回复
我都喜欢用
sainer 2009-12-29
  • 打赏
  • 举报
回复
用JDOM,DOM,XOM等来解析,再..
nickycheng 2009-12-29
  • 打赏
  • 举报
回复
*.properties 是jdk里直接支持的配置文件,可以用Properties类处理
xml就要自己写读取方法了。不过Commons Configuration这个第三方组件提供了读取xml配置文件的方法。

xml配置文件是结构化的,可以做到更灵活

参考
http://commons.apache.org/configuration/
y11111494 2009-12-29
  • 打赏
  • 举报
回复
听说,用xml实现属性配置文件,比a.properties这种实现方式,更流行。
想各位请教了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧