Java读写配置文件——Properties类的简要使用笔记

任何编程语言都有自己的读写配置文件的方法和格式,Java也不例外。

在Java编程语言中读写资源文件最重要的类是Properties,功能大致如下:

1. 读写Properties文件

2. 读写XML文件

3. 不仅可以读写上述两类文件,还可以读写其它格式文件如txt等,只要符合key=value格式即可.

注意:资源文件中含有中文时的处理方法

1. 将中文字符通过工作转成utf8编码,可以通过Java自带的nativetoascii或Eclipse中的属性编辑器。

2. 直接调用 new String(youChineseString.getBytes("ISO-8859-1"), "GBK");

附:WEB程序中加载资源文件的方法

Properties prop = null;

1. prop = Thread.currentThread().getContextClassLoader().getResourceAsStream("filename");

2. prop = this.getClass().getClassLoader().getResourceAsStream("filename");

Properties类继承自Hashtable,大致API如下:

好了,直接用代码说话吧,这个类很容易使用

看下Demo目录结构:

先来个读取配置文件类:PropertiesReader.java

关于Properties读取文件这里提供六种方法:《JAVA读取Properties的六种方法》,下面取最常用的一种

关于路径的写法:(可以相对路径也可以是绝对路径)

Class.getResourceAsStream(String path) 
path 不以’/‘开头时默认是从此类所在的包下取资源,以’/‘开头则是从ClassPath(src文件)根下获取。

 1 package com.lcw.properties.test;
 2
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.util.Enumeration;
 6 import java.util.Properties;
 7
 8 /**
 9  * properties文件读取类
10  *
11  */
12 public class PropertiesReader {
13
14     public void getPropertiesReader(){
15         Properties properties=new Properties();//获取Properties实例
16         InputStream inStream=getClass().getResourceAsStream("config.properties");//获取配置文件输入流
17         try {
18             properties.load(inStream);//载入输入流
19             Enumeration enumeration=properties.propertyNames();//取得配置文件里所有的key值
20             while(enumeration.hasMoreElements()){
21                 String key=(String) enumeration.nextElement();
22                 System.out.println("配置文件里的key值:"+key+"=====>配置文件里的value值:"+properties.getProperty(key));//输出key值
23             }
24
25         } catch (IOException e) {
26             e.printStackTrace();
27         }
28     }
29
30 }

再来个测试类:PropertiesTest.java

 1 package com.lcw.properties.test;
 2
 3 public class PropertiesTest {
 4
 5     /**
 6      * 测试类
 7      */
 8     public static void main(String[] args) {
 9         PropertiesReader propertiesReader=new PropertiesReader();
10         propertiesReader.getPropertiesReader();
11     }
12
13 }

这是配置文件信息:config.properties

color=black
animal=rabbit
food=hamburger
chinese=\u6211\u662F\u4E2D\u6587

看下运行效果:

  

若要写入配置i文件也很简单,这里添加一个方法:

 1     //写入资源文件信息
 2     public void writeProperties(){
 3         Properties properties=new Properties();
 4         try {
 5             OutputStream outputStream=new FileOutputStream("config.properties");
 6             properties.setProperty("number", "2015");
 7             properties.setProperty("song", "手写的从前");
 8             properties.store(outputStream, "rabbit");
 9             outputStream.close();
10         } catch (FileNotFoundException e) {
11             e.printStackTrace();
12         } catch (IOException e) {
13             e.printStackTrace();
14         }
15     }

生成文件:

#rabbit
#Wed Jan 07 17:16:56 CST 2015
number=2015
song=\u6211\u7231\u4F60
时间: 2024-11-07 06:28:24

Java读写配置文件——Properties类的简要使用笔记的相关文章

Java读写资源文件类Properties

Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置. 注    释:前面加上#号 属性配置:以“键=值”的方式书写一个属性的配置信息. 3.properties文件的一个属性配置信息值可以换行,但键不可以换行.值换行用“\”表示. 4.properties的属性配置键值前后的空格在解析时候会被忽略. 5.properties文件可以只有键而没有值.也可以仅

java 读取配置文件工具类 (how to read values from properties file in java)

Java 读取配置文件工具类 使用 java.util.Properties import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class PropertiesReader { private static Properties prop; static { reload(); } private static void reload() { prop = new

Java 读取配置文件 Properties

String filePath="src/cn/ac/iscas/pebble/ufe/conf/id.properties"; InputStream in = new BufferedInputStream(new FileInputStream(filePath)); int i = 0; Properties p = new Properties(); p.load(in); p.getProperty(key); 还有一个方式如下: public class ConfigUt

java中的Properties类的操作

java中有个比较重要的类:Properties类,该类主要用于读取java的配置文件.每种语言都自己所支持的配置文件.java中的配置常为*.perperties文件,文件格式为文本格式,内容格式为“健=值”对格式,文本注释信息可用#注释. Properties继承Hashtable 它提供了几个主要的方法: 1. getProperty ( String key),用指定的键在此属性列表中搜索属性.也就是通过参数 key ,得到 key 所对应的 value. 2. load ( Input

java读写配置文件

package com.zqgame.common.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Properties; /** * @author anq

【001】java中配置文件properties的操作

properties文件在java的使用是比较常见的用于配置key-value的配置文件,java中也有专门对该种类型的文件进行处理的类Properties 一.Properties类API 1.Properties类描述 Properties继承了HashTable,明确的表示了它是一个key-value的集合,类中描述了可以使用get.put方法但是要保证key-value都是字符串否则会在写入文件时出错,也可以用其本身的getProperty.setProperty来操作这是安全的. 2.

Java中的Properties类详解

1.Properties类是什么? Properties(Java.util.Properties),该类主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很多变量是经常改变的,为了方便用户的配置,能让用户够脱离程序本身去修改相关的变量设置.就像在Java中,其配置文件常为.properties文件,是以键值对的形式进行参数配置的. 2.常用的方法 getProperty(String key)   在此属性列表中搜索具有指定键的属性.如果在此属性列表中找不到该键,

java编程中Properties类的具体作用和使用!

如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properties 类现在提供了一种为程序装载和存储设置的更容易的方法: loadFromXML(InputStreamis) 和 storeToXML(OutputStream os, String comment) 方法. 一下是详细的说明,希望能给大家带来帮助. 清单 1. 一组属性示例 foo=barfu

java 21 - 14 Properties类

类 Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 注意:Properties是Hashtable的子类,说明是一个Map集合.但是,它后面没有<>,说明它不是泛型类 首先把它当成Map使用看看: 1 Properties prop = new Properties(); 2 3 // 添加元素 4 prop.put("it002", "hello&q