工程结构:
参考:
http://blog.csdn.net/qinpeng100423/article/details/9125857
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
/**
* 读取properties文件
* @author XiaoY
*
*/
public class ReadWriteProperties {
//文件路径
String file = "test.properties";
/**
* 加载属性文件
* @return Properties
*/
private Properties getProperties(){
Properties pro = null;
try {
//建立文件输入流
FileInputStream fileInputStream = new FileInputStream(file);
pro = new Properties();
//加载属性文件
pro.load(fileInputStream);
//关闭流
fileInputStream.close();
}catch (IOException e) {
e.printStackTrace();
}
return pro;
}
/**
* 将属性文件添加到输出流中,保存属性文件
* @param pro 属性文件
* @param file 文件名
*/
private void setProperties(Properties pro, String file){
FileOutputStream fileOutputStream;
try {
fileOutputStream = new FileOutputStream(file);
//写入输出流
pro.store(fileOutputStream, "XiaoY");
//关闭流
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 读取属性文件
*/
public void readProperties(){
//加载属性文件
Properties pro = this.getProperties();
//获取对应的value。不存在时返回null
String keyword = pro.getProperty("keyword");
//当key对应的value存在时,显示value。当key对应的value不存在时,显示自定义的值。
String defaults = pro.getProperty("default", "我是默认值");
System.out.println(keyword);
System.out.println(defaults);
}
/**
* 修改/保存属性文件中的数据
*/
public void saveOrUpdateProperties(){
//加载属性文件
Properties pro = this.getProperties();
//当key值存在时,修改value值
pro.setProperty("keyword", "我是修改后的");
//当key值不存在时,则新添加一个key-value
pro.setProperty("keyword2", "我是修改后的2");
//将属性文件添加到输出流中,保存属性文件
this.setProperties(pro, file);
}
public static void main(String[] args){
ReadWriteProperties rp = new ReadWriteProperties();
rp.readProperties();
rp.saveOrUpdateProperties();
}
}
参考:
http://blog.csdn.net/qinpeng100423/article/details/9125857