全網最細Properties詳解(自封的)


Properties詳解

在講解properties類時,我們首先要清楚一個概念:

什么是Properties文件?

你可能不知道properties文件,但你一定知道txt文件

txt文件是一種后綴為. txt的文本文件,是微軟在操作系統上附帶的一種文本格式,是最常見的一種文件格式

properties文件是一種后綴為.properties的文本文件,在Java中常被用作配置文件

這種文件以<key(鍵),value(值)>的格式來存儲內容/參數配置,Java中可以使用Properties類來讀取這個文件

Properties類

Properties類存在於Java.util.Properties包下,就像上面所說的一樣,該類的主要作用是讀取Java的properties配置文件

在API中如下所示:

properties

漢化版如下:

properties漢化

好,現在我們知道了:

  • 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如下:

setProperty

代碼如下:

//將需要寫入的屬性內容通過set方法,存入properties對象中
pros.setProperty("name","一呆");
pros.setProperty("age","18");
pros.setProperty("money","0");

現在我們已經往里面寫數據了,但這個數據只是臨時數據,所以我們還需要保存數據,在這里我們需要用到Properties類中的store方法

該方法API如下:

store

代碼如下:

//調用properties的存儲方法
pros.store(ops,"測試數據");

在最后,我們需要釋放使用的資源,換句話說,我們需要關閉資源

代碼如下:

//關閉資源
ops.close();
fos.close();

我們現在總結一下要對properties文件進行處理都要干些啥:

  1. 需要Properties對象
  2. 需要創建properties文件(通過IO流)
  3. 需要進行異常處理
  4. 需要通過Properties類中的setProperty方法往properties文件里寫數據
  5. 需要通過Properties類中的store方法保存寫入properties文件的數據
  6. 需要關閉資源

完整代碼如下:

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文件如下:

properties文件

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

持續更新ing~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM