http://blog.csdn.net/hopestar2/article/details/6372883

在项目中经常用到各种配置文件,有.properties的,也有.xml格式的

都可以通过java.utils.Property类进行处理。

1. 读取.properties文件

  1. File pFile = new File("test.properties");
  2. FileInputStream   pInStream=null;
  3. try {
  4. pInStream = new FileInputStream(pFile );
  5. } catch (FileNotFoundException e) {
  6. e.printStackTrace();
  7. }
  8. Properties p = new Properties();
  9. try {
  10. p.load(pInStream );
  11. } catch (IOException e) {
  12. e.printStackTrace();
  13. }
  14. Enumeration enu = p.propertyNames();  //取出所有的key
  15. p.list(System.out) ;
  16. while(enu.hasMoreElements())
  17. {
  18. String thisKey = (String)enu.nextElement();
  19. System.out.println("key="+thisKey);
  20. System.out.println("value="+p.getProperty(thisKey));
  21. }

.properties测试文件内容如下:

name = tinyfun
    age = 25
    sex = man
    title = software developer

2. 读取XML文件

  1. File pFile = new File("test.xml");
  2. FileInputStream pInStream = null;
  3. try {
  4. pInStream = new FileInputStream(pFile);
  5. Properties p = new Properties();
  6. p.loadFromXML(pInStream);
  7. p.list(System.out);
  8. } catch (IOException e) {
  9. e.printStackTrace();
  10. }

xml文件如下:

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
  3. <properties>
  4. <comment>test</comment>
  5. <entry key="age">25</entry>
  6. <entry key="name">tinyfun</entry>
  7. <entry key="sex">man</entry>
  8. <entry key="title">software developer</entry>
  9. </properties>

3. 写入XML文件

  1. Properties p = new Properties();
  2. p.setProperty("name","tinyfun");
  3. p.setProperty("age","25");
  4. p.setProperty("sex","man");
  5. p.setProperty("title","software developer");
  6. try{
  7. PrintStream fW = new PrintStream(new File("test.xml"));
  8. p.storeToXML(fW,"test");
  9. } catch (IOException e) {
  10. e.printStackTrace();
  11. }

4. 写入.properties文件

  1. Properties p = new Properties();
  2. p.setProperty("name","tinyfun");
  3. p.setProperty("age","25");
  4. p.setProperty("sex","man");
  5. p.setProperty("title","software developer");
  6. try{
  7. PrintStream fW = new PrintStream(new File("test.properties"));
  8. p.list(fW );        }
  9. catch (IOException e) {
  10. e.printStackTrace();
  11. }
 
 

Java之Property类使用的更多相关文章

  1. java中Property类的基本用法

    1 配置.properties文件 2 获取输入流的方法 1)FileInputStream fi = new FileInputStream(properties文件路径); 2)InputStre ...

  2. 两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz

    1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; public class EmailReportT ...

  3. Java中Properties类

    1 简介: JDK提供的java.util.Properties类继承自Hashtable类并且实现了Map接口,用map来存储key-value数据,所以存入的数据是无序的.其中键和值都是字符串类型 ...

  4. Java使用ResourceBundle类读取properties文件中文乱码的解决方案

    Java使用java.util.ResourceBundle类的方式来读取properties文件时不支持中文,要想支持中文必须将文件设置为ISO-8859-1编码格式,这对于开发工具默认为UTF-8 ...

  5. Java中Object类hashCode的底层实现

    Java中Object类hashCode的底层实现 openjdk\jdk\src\share\native\java\lang\Object.c 42 static JNINativeMethod ...

  6. java自定义注解类

    一.前言 今天阅读帆哥代码的时候,看到了之前没有见过的新东西, 比如java自定义注解类,如何获取注解,如何反射内部类,this$0是什么意思? 于是乎,学习并整理了一下. 二.代码示例 import ...

  7. 基础知识(05) -- Java中的类

    Java中的类 1.类的概念 2.类中的封装 3.对象的三大特征 4.对象状态 5.类与类之间的关系 ------------------------------------------------- ...

  8. java中Inetaddress类

    InetAddress类 InetAddress类用来封装我们前面讨论的数字式的IP地址和该地址的域名. 你通过一个IP主机名与这个类发生作用,IP主机名比它的IP地址用起来更简便更容易理解. Ine ...

  9. Java集合---Array类源码解析

    Java集合---Array类源码解析              ---转自:牛奶.不加糖 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Prim ...

随机推荐

  1. HDU1073:Online Judge

    Problem Description Ignatius is building an Online Judge, now he has worked out all the problems exc ...

  2. hdu 1020

    //自信满满地交上去~~but...超时了 #include <iostream> #include <string.h> #include <stdio.h> u ...

  3. 网站的性能优化与安全(高效C#编码优化)

    1. Foreach 比 For 性能高30%2. 避免是使用ArrayList, 因为任何对象到ArrayList都有封装为Object,出来还要拆箱.    用泛型去掉3. HashTalbe取代 ...

  4. hostent h_addr_list

    struct hostent { char FAR * h_name; /* official name of host */ char FAR * FAR * h_aliases; /* alias ...

  5. label不换行的问题

    除了numberOfLines属性label有一个preferredMaXLayoutWidth属性.设置试试

  6. css的单位

    如果你是一名前端开发工程师,一般px和em使用频率比较高.但是今天的重点是介绍一些我们使用很少.甚至木有听说过的单位. 一.em <style type="text/css" ...

  7. C++随机崩溃捕捉处理

    1. 会引起异常的几个原因(主要记录目前遇到过的几个问题) 程序读取了无效的内存地址 堆栈的溢出,比如无限循环导致那段内存溢出,比如把size为20的缓存拷贝到size为10的缓存块等 无法申请到有效 ...

  8. C#之控制台输入和输出

    控制台输出 C# 控制台程序一般使用 .NET Framework Console 类提供的输入/输出服务.Console.WriteLine("Hello World!"); 语 ...

  9. NoSql的产生

    主流的关系型数据库:Microsoft SQLServer, IBM DB2, Oracle, MySQL, Microsoft Access, Sybase,IBM Informix 随着互联网we ...

  10. HTML之组件margin、padding

    1.  HTML之组件可以通过CSS里的width height进行大小控制 2.HTML之组件可以通过CSS里的margin.padding进行组件和组件间的间距 margin/padding:(u ...