Java程序员的日常—— Properties文件的读写
2016-04-26 22:43
627 查看
在日常的Java程序开发中,Properties文件的读写是很常用的。经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整。
那么本片就来简单的介绍下,如何使用Properties。
文件的读取
Properties类提供了Load方法,支持以inputstream为参数,读取配置文件。因此可以这样:Properties props = new Properties(); //如果配置文件放在类目录下,可以直接通过类加载器读取 props.load(new FileReader("D:\\test.properties"));
不过上面的读取方法需要完整的文件路径,显然在开发中是很不方便的。
因此推荐下面这种方法,通过类加载器的路径来读取配置文件:
props.load(PropertiesTest.class.getClassLoader().getResourceAsStream(fileName));
属性的读写
通过getProperty可以取到文件的属性://获取属性值 System.out.println(props.getProperty("name")); System.out.println(props.getProperty("age")); System.out.println(props.getProperty("address","dalian"));//如果没有拿到属性值,会按照第二个参数作为默认值 //修改属性值 props.setProperty("name", "ttt"); System.out.println(props.getProperty("name"));
配置持久化
如果需要在程序运行时,持久化配置文件,也可以使用store方法://持久化配置文件 File file = new File("D:\\result.properties"); Writer fw = new FileWriter(file); props.store(fw, "conmments"); fw.close();
源码测试
package xing.CodeJava.basic;
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:\\TestCode\\CodeJava\\CodeJava\\src\\main\\java\\xing\\CodeJava\\basic\\test.properties"));
//获取属性值 System.out.println(props.getProperty("name")); System.out.println(props.getProperty("age")); System.out.println(props.getProperty("address","dalian"));//如果没有拿到属性值,会按照第二个参数作为默认值 //修改属性值 props.setProperty("name", "ttt"); System.out.println(props.getProperty("name"));
//持久化配置文件
File file = new File("D:\\TestCode\\CodeJava\\CodeJava\\src\\main\\java\\xing\\CodeJava\\basic\\result.properties");
Writer fw = new FileWriter(file);
props.store(fw, "conmments");
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
相关文章推荐
- 记第一次面试——求职在路上
- 面试题3
- 面试题4
- 剑指offer-面试题55:字符流中第一个不重复的字符
- 提给程序员和开发者的 10 道 Java 泛型面试题
- 正则表达式-面试
- 前端开发面试知识点大纲:
- 12个顶级开发者社区网站帮助程序员走上人生巅峰
- 面试经验
- 剑指offer-面试题54:表示数值的字符串
- Java程序员应该知道的10个调试技巧
- 自己编的有关前端面试题及答案,请路过的大神帮忙纠错
- 成为Java顶尖程序员 ,看这10本书就够了
- 从一个程序员到一个销售高手的心路历程
- 我的2016书单
- java面试题剖析
- 剑指offer----面试题11:数值的整数次方
- iOS 面试中单例模式的设计
- 距离成为一个优秀程序员 你还差这些
- ios面试题收集 (不定期更新)