Properties詳解
在講解properties類時,我們首先要清楚一個概念:
什么是Properties文件?
你可能不知道properties文件,但你一定知道txt文件
txt文件是一種后綴為. txt的文本文件,是微軟在操作系統上附帶的一種文本格式,是最常見的一種文件格式
而properties文件是一種后綴為.properties的文本文件,在Java中常被用作配置文件
這種文件以<key(鍵),value(值)>的格式來存儲內容/參數配置,Java中可以使用Properties類來讀取這個文件
Properties類
Properties類存在於Java.util.Properties包下,就像上面所說的一樣,該類的主要作用是讀取Java的properties配置文件
在API中如下所示:

漢化版如下:

好,現在我們知道了:
- properties是一種文件
- Properties類是Java中用來處理properties文件的類
那么我們該如何用Properties類來處理properties文件呢?
Properties文件處理
我們要處理properties文件就要用到Properties類,要用到一個類首先要干嘛?
我們需要至少一個Properties對象:
代碼如下:
//實例化一個Properties對象
Properties pros = new Properties();
OK,現在我們已經有了一個Properties對象,那么我們該如何用該對象往properties文件寫數據呢?
不過在此之前,我們還得先想想現在有properties文件嗎,好像並沒有,所有我們還需要創建properties文件
在這里我們需要用到IO流跟異常的相關基礎知識(不過俺暫時還沒寫,如果寫了俺會掛上鏈接)
代碼如下:
//創建一個test1.properties文件並通過文件輸出流寫入
FileOutputStream fos = new FileOutputStream("test1.properties");
//引入Writer,可以明確該輸出流的字符集,確保寫入配置文件的中文編碼正確(utf-8格式)
OutputStreamWriter ops = new OutputStreamWriter(fos,"utf-8");
好,現在我們已經有了一個名為test1的properties文件,現在我們要往里面寫數據了,在這里我們需要用到Properties類中的setProperty方法
該方法API如下:

代碼如下:
//將需要寫入的屬性內容通過set方法,存入properties對象中
pros.setProperty("name","一呆");
pros.setProperty("age","18");
pros.setProperty("money","0");
現在我們已經往里面寫數據了,但這個數據只是臨時數據,所以我們還需要保存數據,在這里我們需要用到Properties類中的store方法
該方法API如下:

代碼如下:
//調用properties的存儲方法
pros.store(ops,"測試數據");
在最后,我們需要釋放使用的資源,換句話說,我們需要關閉資源
代碼如下:
//關閉資源
ops.close();
fos.close();
我們現在總結一下要對properties文件進行處理都要干些啥:
- 需要Properties對象
- 需要創建properties文件(通過IO流)
- 需要進行異常處理
- 需要通過Properties類中的setProperty方法往properties文件里寫數據
- 需要通過Properties類中的store方法保存寫入properties文件的數據
- 需要關閉資源
完整代碼如下:
public class PropertiesTest {
@Test
public void propertiesTest(){
//1.先實例化一個Properties對象
Properties pros = new Properties();
try {
//2.創建一個輸出流對象
FileOutputStream fos = new FileOutputStream("test1.properties");
//3.引入Writer,可以明確該輸出流的字符集,確保寫入配置文件的中文編碼正確
OutputStreamWriter ops = new OutputStreamWriter(fos,"utf-8");
//4.將需要寫入的屬性內容通過set方法,存入properties對象中
pros.setProperty("name","一呆");
pros.setProperty("age","18");
pros.setProperty("money","0");
//5.調用properties的存儲方法
pros.store(ops,"測試數據");
//6.關閉資源
ops.close();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
創建的properties文件如下:

這些都是基礎知識,暫時先寫這么多(單純想偷懶而已)~
持續更新ing~
