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. 缓存1 静态缓存-->读库保存成php文件 mkdir-->file_put_contents-->var_export -->include

    @mkdir()-->file_put_contents-->$data =  "<?php\nreturn ".var_export($setting, tru ...

  2. javascript小数乘法精确率问题

    做前端页面开发的经常会遇到数值的乘法计算,带小数位计算会出现值溢出的问题,如: JS里做小数的乘法运算时会出现浮点错误,具体可以测试一下: <script>alert(11*22.9)&l ...

  3. centos中apache-tomcat的配置

    在centos中配置Apache-toncat需要先安装jdk,前面文章已经写了怎么配置jdk,这里略过. 首先到官网下载好Apache-tomcat安装包,我这里下载的是apache-tomcat- ...

  4. 解决Sublime Text 3中文显示乱码(tab中文方块)问题,sublime tab乱码

    一.文本出现中文乱码问题 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: import urllib.requ ...

  5. 2016 ccpc 杭州赛区的总结

    毕竟是在杭电比的,和之前大连的icpc不同,杭电毕竟是隔壁学校,来回吃住全都是在自家寝室,方便! 不过说到方便也是有点不方便,室友都喜欢玩游戏,即使我昨晚9.30就睡觉了,仍然是凌晨一点才睡着,233 ...

  6. 最大独立集 HDU 1068

    题目大意:有n个人,两个人之间有相互的关系,问最大的关系数目. 思路:n-(最大匹配数/2).因为这里给出的是n个人之间的两两关系 //看看会不会爆int!数组会不会少了一维! //取物问题一定要小心 ...

  7. VS2005--设置Release模式下调试

    今天初略看了下,所谓Release和Debug只是大家和编译器约定的一些生成规则而已,所以调试是无所谓Release和Debug的,只是由于生成的规则不同,可能Release的一些调试结果没Debug ...

  8. cakephp 复杂查询

    $now = time(); $this->CardTypeInfos->recursive = -1; $conditions = [ 'seller_id'=>SELLER_ID ...

  9. .gitigore 相关

    为什么要配置.gitigore 在我们使用git的过程当中,不是任何文件都需要commit到本地或者远程仓库的,比如一些三方库文件.那么作为一个git新手,很多人不知道如何配置.gitignore文件 ...

  10. 关于前台主键输入错误对后台hibernate方法的影响

    由于前台输入时开始不小心打错了主键为value=“${conf_id}”/ 导致后台得到的主键不是数字“1”而是“1/”所以到后台就算是进的updata方法结果运行的却是添加方法 原因可能是传入的对象 ...