美文网首页
Java对properties文件操作(ResourceBund

Java对properties文件操作(ResourceBund

作者: 伍个一 | 来源:发表于2020-12-18 18:20 被阅读0次

    1. 使用场景

    properties文件多为配置信息,日常操作很频繁,例如测试框架中的接口配置文件,如下

    test.url=http://localhost:8888
    
    #登陆接口uri
    #login.uri=/v1/login
    login.uri=/login
    #更新用户信息接口uri
    updateUserInfo.uri=/v1/updateUserInfo
    
    #获取用户列表接口uri
    getUserList.uri=/v1/getUserInfo
    
    #获取用户信息接口uri
    getUserInfo.uri=/v1/getUserInfo
    
    #添加用户接口uri
    addUser.uri=/v1/addUser
    
    

    那么,在写接口用例的时候,怎么获取到这些对应的测试数据呢?


    示例

    2. 第一种方法:ResourceBundle类

            //第一种  ResourceBundle类
            //1. 声明ResourceBundle并获取文件
            ResourceBundle bundle = ResourceBundle.getBundle("application", Locale.CHINA);
            //2. 获取值
            String apiValue = bundle.getString("login.uri");
            
            System.out.println("ResourceBundle类方式提取数据:" + apiValue);
    

    3. 第二种方法:Properties类

     //1. 文件路径
            String dataPath = "src/main/resources/application.properties";
            try {
                //2.获取输入流
                InputStream inputStream = new BufferedInputStream(new FileInputStream(new File(dataPath)));
                //3. 声明Properties类
                Properties properties = new Properties();
                //4. 从字节输入流中读取键值对。
                properties.load(inputStream);
                //5. 获取值
                String string = properties.getProperty("login.uri");
    
                System.out.println("Properties类提取数据:" + string);
            } catch (IOException e) {
                System.out.println("properties文件路径书写错误,请检查!");
            }
    
    控制台

    4. ResourceBundle类和Properties类的差异

    ResourceBundle类通常是用于针对不同的语言来使用的属性文件。

    而如果你的应用程序中的属性文件只是一些配置,并不是针对多国语言的目的。那么使用Properties类就可以了。

    通常可以把这些属性文件放在某个jar文件中。然后,通过调用class的getResourceAsStream方法,来获得该属性文件的流对象,再用Properties类的load方法来装载。

    相关文章

      网友评论

          本文标题:Java对properties文件操作(ResourceBund

          本文链接:https://www.haomeiwen.com/subject/iydfnktx.html