java学习笔记:java文件读写-读取properties配置文件

一、简述

各种语言都有自己所支持的配置文件类型,Java支持的是.properties文件的读写。JDK内置的java.util.Properties类为我们操作.properties文件提供了便利。

二、properties文件格式

文件示例:

#adaptertest init data

#手机设备号

mobiledevice=84c5f58a

#音箱设备号

miadevice=A3004100005P

“#”开始的一行为注释信息;

“=”左边的我们称之为key,“=”右边的我们称之为value。key是我们程序中的变量,而value是我们根据实际情况配置的。

key与value只能为字符串。

三、properties类中的主要方法

1)getProperty(String key)

用指定的键在此属性列表中搜索属性。也就是通过参数key,得到key所对应的value。

2)load(InputStream inStream)

从输入流中读取属性列表(键和元素对)。以供getProperty( String key)来搜索。

3)setProperty(String key, String value)

调用Hashtable的方法put 。他通过调用基类的put方法来设置键-值对。

4)store(OutputStream out, String comments)

以适合使用load方法加载到Properties表中的格式,将此Properties表中的属性列表(键和元素对)写入输出流。与load方法相反,该方法将键-值对写入到指定的文件中去。

5)clear()

清除所有装载的键-值对。该方法在基类中提供

四、Java读取Properties文件

Java读取Properties文件的方法有很多,以下为使用java.util.Properties类的load()方法读取Properties文件。

待读取.properties文件需放到正确的工程文件目录下,否则会报错:.properties文件与project.properties文件在同一级目录。

1)Properties文件

#adapter test init data

#手机设备号

mobiledevice=84c5f58a

#音箱设备号   

miadevice=A3004100005P

2)java代码

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.util.Iterator;

import java.util.Properties;



Properties prop = new Properties();

try {

    //读取文件

InputStream inputStream = newFileInputStream("adapter_test_initdata.properties");

//设置编码格式为utf-8,处理中文乱码问题

BufferedReader bf = newBufferedReader(new InputStreamReader(inputStream, "utf-8"));

   prop.load(bf);

Iterator it=prop.stringPropertyNames().iterator();

while(it.hasNext()){

         Stringkey=it.next();

             System.out.println(key+":"+prop.getProperty(key));

}

mobile_device = prop.getProperty("mobiledevice");

mia_device = prop.getProperty("miadevice");

   inputStream.close();

}catch (Exception e) {

          System.out.println(e);

          e.printStackTrace();

}

你可能感兴趣的:(java学习笔记:java文件读写-读取properties配置文件)