Properties 使用load方法传入inputStream对象 读取文件。
package ext.test;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Writer;
import java.util.Properties;
public class PropertiesTest {
public static void main(String[] args) {
String fileName = "test.properties";
try {
//读取配置文件
Properties props = new Properties();
// props.load(PropertiesTest.class.getClassLoader().getResourceAsStream(fileName));//如果配置文件放在类目录下,可以直接通过类加载器读取
props.load(new FileReader("D:\\eclipse\\workspace\\test\\WebContent\\WEB-INF\\source\\test.properties"));
//获取属性值
System.out.println(props.getProperty("username"));
System.out.println(props.getProperty("password","111111"));//如果没有拿到属性值,会按照第二个参数作为默认值
//修改属性值
props.setProperty("username", "ttt");
System.out.println(props.getProperty("username"));
//持久化配置文件
File file = new File("D:\\eclipse\\workspace\\test\\WebContent\\WEB-INF\\source\\result.properties");
Writer fw = new FileWriter(file);
props.store(fw, "conmments");
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
有乱码的情况下 读文件的时候要先编码BufferedReader br = null;
Properties datas = new Properties();
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("data.properties")), "GBK"));
datas.load(br);