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. Entity Framework技巧系列之五 - Tip 16 – 19

    提示16. 当前如何模拟.NET 4.0的ObjectSet<T> 背景: 当前要成为一名EF的高级用户,你确实需要熟悉EntitySet.例如,你需要理解EntitySet以便使用 At ...

  2. 使用PLSQL Developer连接Oracle Database 11g Express Edition

    要使用oracle数据库,需要准备三部分: 1.oracle服务端 2.oracle客户端 3.连接工具 你装的Oracle Database 11g Express Edition就是服务端,pls ...

  3. Qt 5简介

    Qt 5简介 Qt 5概要介绍 在Qt 5这个版本中,Qt Quick成为了Qt的核心.但是Qt 5也继续提供了本地C++强大的功能来完成更好的用户体验,也提供了对OpenGL/OpenGL ES图形 ...

  4. MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法

    在这里主要讲解一下MySQL.SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法. 可能会有人说这些网上都有,但我的主要目的是把这些知识通过我实际的应 ...

  5. 无线手柄+步进电机——控制方向

    今天测试了一下无线手柄控制电机转向的改变 1: #include <PS2X_lib.h> //for v1.6 2: #include <Stepper.h> 3:  4: ...

  6. php fsockopen

    1.PHP fsockopen函数说明: Open Internet or Unix domain socket connection(打开套接字链接) Initiates a socket conn ...

  7. FZU 2086 餐厅点餐(枚举)

    ///个人感觉vector好看一点 #include<iostream> #include<cstdio> #include<cstring> #include&l ...

  8. Callable、Future和FutureTask区别

    在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就 ...

  9. Node.js学习 - Global Object

    全局对象:特殊的对象,它及其所有属性都可以在程序的任何地方访问. __filename 表示当前正在执行的脚本的文件名.它将输出文件所在位置的绝对路径,且和命令行参数所指定的文件名不一定相同. 如果在 ...

  10. POJ - 3062 Borg Maze

    题目链接:http://poj.org/problem?id=3026 Svenskt Masterskap我程序员/ Norgesmesterskapet 2001 Description The ...