java 在自动化测试中应用【单例模式】读取、获取配置文件(包含测试数据)

本文介绍了如何使用饿汉式单例模式创建一个配置文件读取和修改的工具类,以减少项目中重复代码,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:
 在写项目的时候,常常要读取配置文件中的数据,如果不进行封装,每次都要写大量重复代码,写起来很麻烦。基于这个痛点,便会想在一个类实现配置文件的读取,其他地方直接用行不行,于是想到了封装成工具类。 下面是用单例模式的饿汉式,封装一个读取、修改配置文件的类,项目中哪里需要直接用就行了,方便了许多。

配置文件
放置在 src/test/resources 目录下
请添加图片描述
实现代码:

//饿汉式单例加载配置
public class ConfigSingleton {
    static String filePath =  "src/test/resources/properties";
    private static Properties properties;
    private static ConfigSingleton instance = new ConfigSingleton();

    //获取实例
    public static ConfigSingleton getInstance() {
        return instance;
    }
    //构造方法
    private ConfigSingleton(){
        properties = new Properties();
        try {
            FileInputStream fis = new FileInputStream(filePath);
            properties.load(new InputStreamReader(fis,"UTF-8"));
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
	//获取配置文件中的属性
    public static String getKey(String key){
        return properties.getProperty(key);
    }
    //往配置文件中添加字段和值
    public static boolean setKeyValue(String key,String value){
        try {
            // 设置属性值
            properties.setProperty(key, value);
            // 将属性写回到文件中
            FileOutputStream fos = new FileOutputStream(filePath);
            properties.store(new OutputStreamWriter(fos,"UTF-8"), "Updated");
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return true;
    }
    
    //此处为具体的使用方式
    //在其他地方也是这么用,先获取下单例对象,然后直接调get,set方法就可以获取,很方便
    public static void main(String[] args) {
        ConfigSingleton instance = ConfigSingleton.getInstance();
        System.out.println("name:" + instance.getKey("name"));
        //往配置文件里加字段和值
        instance.setKeyValue("demo","测试一下");
        System.out.println("demo:" + instance.getKey("demo"));
    }
}

祝大家龙年大吉。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值