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. 從字節(jié)輸入流中讀取鍵值對你虹。
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方法來裝載姻成。