JAVA读写Properties属性文件

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  在我们知道如何读写一个属性文件之后,我们仍然还有很多需要注意的问题,因为load和store方法都是按照ISO-8859-1的编码方式读写属性流文件的,而ILatin1 的字符和某些特殊字符,而对于非Latin1 的字符和某些特殊字符,则要使用与字符和字符串字面值所用的类似转义序列,以值和元素的形式来表示它们。所以当我们在处理中文时,不可以在直接修改属性文件时,将中文的值赋予给属性,而是要在JAVA程序中通过setProperty方法给属性赋予中文的值,因为这样store会将中文转换成 unicode码,在读取时系统会将读取到的unicode码按系统的编码打印出来,对于中文系统,通常是GBK码,这样中文才能够正常显示。

  方法摘要

  String getProperty(String key)

  用指定的键在此属性列表中搜索属性。

  String getProperty(String key, String defaultValue)

  用指定的键在属性列表中搜索属性。

  void list(PrintStream out)

  将属性列表输出到指定的输出流。

  void list(PrintWriter out)

  将属性列表输出到指定的输出流。

  void load(InputStream inStream)

  从输入流中读取属性列表(键和元素对)。

  void load(Reader reader)

  按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。

  void loadFromXML(InputStream in)

  将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。

  Enumeration<?> propertyNames()

  返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。

  void save(OutputStream out, String comments)

  已过时。 如果在保存属性列表时发生 I/O 错误,则此方法不抛出 IOException。保存属性列表的首选方法是通过 store(OutputStream out, String comments) 方法或 storeToXML(OutputStream os, String comment) 方法来进行。

  Object setProperty(String key, String value)

  调用 Hashtable 的方法 put。

  void store(OutputStream out, String comments)

  以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。

  void store(Writer writer, String comments)

  以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。

  void storeToXML(OutputStream os, String comment)

  发出一个表示此表中包含的所有属性的 XML 文档。

  void storeToXML(OutputStream os, String comment, String encoding)

  使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档。

  Set<String> stringPropertyNames()

  返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。

  Properties props=System.getProperties(); //系统属性

  System.out.println(“Java的运行环境版本:”+props.getProperty(“java.version”));

  System.out.println(“Java的运行环境供应商:”+props.getProperty(“java.vendor”));

  System.out.println(“Java供应商的URL:”+props.getProperty(“java.vendor.url”));

  System.out.println(“Java的安装路径:”+props.getProperty(“java.home”));

  System.out.println(“Java的虚拟机规范版本:”+props.getProperty(“java.vm.specification.version”));

  System.out.println(“Java的虚拟机规范供应商:”+props.getProperty(“java.vm.specification.vendor”));

  System.out.println(“Java的虚拟机规范名称:”+props.getProperty(“java.vm.specification.name”));

  System.out.println(“Java的虚拟机实现版本:”+props.getProperty(“java.vm.version”));

  System.out.println(“Java的虚拟机实现供应商:”+props.getProperty(“java.vm.vendor”));

  System.out.println(“Java的虚拟机实现名称:”+props.getProperty(“java.vm.name”));

  System.out.println(“Java运行时环境规范版本:”+props.getProperty(“java.specification.version”));

  System.out.println(“Java运行时环境规范供应商:”+props.getProperty(“java.specification.vender”));

  System.out.println(“Java运行时环境规范名称:”+props.getProperty(“java.specification.name”));

  System.out.println(“Java的类格式版本号:”+props.getProperty(“java.class.version”));

  System.out.println(“Java的类路径:”+props.getProperty(“java.class.path”));

  System.out.println(“加载库时搜索的路径列表:”+props.getProperty(“java.library.path”));

  System.out.println(“默认的临时文件路径:”+props.getProperty(“java.io.tmpdir”));

  System.out.println(“一个或多个扩展目录的路径:”+props.getProperty(“java.ext.dirs”));

  System.out.println(“操作系统的名称:”+props.getProperty(“os.name”));

  System.out.println(“操作系统的构架:”+props.getProperty(“os.arch”));

  System.out.println(“操作系统的版本:”+props.getProperty(“os.version”));

  System.out.println(“文件分隔符:”+props.getProperty(“file.separator”)); //在 unix 系统中是"/"

  System.out.println(“路径分隔符:”+props.getProperty(“path.separator”)); //在 unix 系统中是":"

  System.out.println(“行分隔符:”+props.getProperty(“line.separator”)); //在 unix 系统中是"/n"

  System.out.println(“用户的账户名称:”+props.getProperty(“user.name”));

  System.out.println(“用户的主目录:”+props.getProperty(“user.home”));

  System.out.println(“用户的当前工作目录:”+props.getProperty(“user.dir”));

[1][2]

想起那座山,那个城,那些人……

JAVA读写Properties属性文件

相关文章:

你感兴趣的文章:

标签云: