• Java程序员的日常—— Properties文件的读写


    在日常的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();
    		}
    	}
    }
    
  • 相关阅读:
    程序猿财务自由之路·规划篇
    如何教女友学编程?
    粤港澳大湾区9城最新购房政策一览
    一个漂亮妹子的美团面试经历,4轮2小时,成功拿到Offer
    在北京的互联网公司工作多少年可以买房?
    这六个 MySQL 死锁案例,能让你理解死锁的原因!
    阿里双11:「线上全链路压测」完整经验分享
    千亿级公司低代码平台的测试体系介绍
    Weblogic
    30分钟?不需要,轻松读懂IL
  • 原文地址:https://www.cnblogs.com/xing901022/p/5437007.html
Copyright © 2020-2023  润新知