Properties java 读写文件类用法
来源:互联网 发布:java日志级别大小 编辑:程序博客网 时间:2024/05/22 06:56
Properties类用法
在项目中经常遇到将配置信息按键值对的格式保存到文件中,然后使用Properties类将文件的内容读入内存,获取配置信息。
和Map相比,Properties具有如下特点:
1.能从输入流(如文件)中获取键值对信息。
2.能将键值对信息保存到输出流中(如文件)。
该实例实现了向Properties类中添加键值对,从Properties类中取出某个键的值,把整个Properties对象保存到文件中,以及将文件中的键值对信息直接加载到Properties对象中。
和Map相比,Properties具有如下特点:
1.能从输入流(如文件)中获取键值对信息。
2.能将键值对信息保存到输出流中(如文件)。
该实例实现了向Properties类中添加键值对,从Properties类中取出某个键的值,把整个Properties对象保存到文件中,以及将文件中的键值对信息直接加载到Properties对象中。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class TestProperties {
publicstatic void main(String[] args) throws IOException {
//新建一个Properties对象
Properties props = new Properties();
//往Properties中存放数据,格式位
//key 和 value都是字符串
props.setProperty("name", "ZhangSan");
props.setProperty("gender", "male");
props.setProperty("age", "30");
props.setProperty("telNO", "01088888888");
props.setProperty("address", "xxxxxxxx");
//从Properties中获取数据。必须提供key
System.out.println("name: " +props.getProperty("name"));
System.out.println("gender: " +props.getProperty("gender"));
System.out.println("age: " +props.getProperty("age"));
System.out.println("telNO: " +props.getProperty("telNO"));
System.out.println("address: " +props.getProperty("address"));
//可以位返回值提供一个缺省值,当Properties中没有该key时,用默认值返回
System.out.println("other: " +props.getProperty("other", "none"));
//将Properties中的数据保存到输出流,比如文件输出流
String fileName = "c:/test.properties";
FileOutputStream out = newFileOutputStream(fileName);
props.store(out, "test");
out.close();
//打开c:/test.properties文件,可以看见里面的内容,注意到,顺序是改变了的。
Properties newProps = new Properties();
newProps.setProperty("type", "newProps");
//可以从输入流中获取加载数据,比如文件输入流
//从properties文件中加载数据
FileInputStream in = newFileInputStream(fileName);
newProps.load(in);
in.close();
System.out.println();
System.out.println("type: " +newProps.getProperty("type"));
System.out.println("name: " +newProps.getProperty("name"));
System.out.println("gender: " +newProps.getProperty("gender"));
//将Properties中的数据输出到一个输出流
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class TestProperties {