java複習第8天---8.3---IO流---Properties
目錄
內容
1、Properties
1.1、概述
java.util.Properties繼承於Hashtable,來表示一個持久的屬性集。它使用鍵值對存儲數據,每個鍵對應一個字符串。該類也被許多其他Java類使用,比如獲取系統屬性時,System.getProperties方法就是返回一個Prpperties對象
- 構造方法
參數列表 | 描述 |
---|---|
創建一個空的屬性對象 |
- 常用方法
修飾符 | 返回值類型 | 方法名 | 參數列表 | 描述 |
---|---|---|---|---|
public | Object | setProperty | String key, String value | 設置 key=value鍵值對 |
public | String | getProperty | String key | 獲取key對應的value |
public | Set<String> | stringPropertyNames | 返回Properties對象的鍵的Set集合 |
1.2、存儲和遍歷
-
示例1.2:存儲name=gaogzhen password=1234 [email protected] 形式的鍵值對,並且遍歷
package io.properties; import java.util.Properties; import java.util.Set; public class TestProperties1 { public static void main(String[] args) { Properties prop = new Properties(); prop.setProperty("name", "gaogzhen"); prop.setProperty("password", "1234"); prop.setProperty("email", "[email protected]"); Set<String> keys = prop.stringPropertyNames(); for(String key: keys) { System.out.println(key+ "=" + prop.getProperty(key)); } } } 測試結果: name=gaogzhen password=1234 [email protected]
1.3、store
Properties是唯一和IO相結合的集合,如果想要將Properties對象中的臨時數據,永久性存儲到磁盤中,需要使用Properties.store方法:
修飾符 | 返回值類型 | 方法名 | 參數列表 | 描述 |
---|---|---|---|---|
pubLic | void | store | OutputStream out, String comments | 把Properties對象中數據寫入字節輸出流中,comments爲說明性文字 |
public | void | store | Writer writer, String comments | 把Properties對象中數據寫入字符輸出流中,comments爲說明性文字 |
-
注意事項:
- 如果有中文建議使用字符流
-
示例1.3-1:把鍵值對數據存入login.properties文件中(此處使用字節輸出流,字符輸出流相同方式)
package io.properties; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class TestPropertiesStore1 { public static void main(String[] args) throws IOException { Properties prop = new Properties(); prop.setProperty("name", "gaogzhen"); prop.setProperty("password", "1234"); prop.setProperty("email", "[email protected]"); FileOutputStream fos = new FileOutputStream("f:\\test\\login.properties"); prop.store(fos, "登陸信息"); fos.close(); } } 測試結果:login.properties文件中內容 #\u767B\u9646\u4FE1\u606F #Thu May 28 15:36:11 CST 2020 [email protected] password=1234 name=gaogzhen
1.4、load
想要從Properties.store方法存儲的文件或者符合鍵值對要求的文件中讀取數據,需要使用Properties的load方法:
修飾符 | 返回值類型 | 方法名 | 參數列表 | 描述 |
---|---|---|---|---|
public | void | load | InputStream | 把字節輸入流中數據讀入Properties集合中 |
public | void | load | Reader | 把字符輸入流中的數據讀入Properties集合中 |
-
示例1.4-1:讀取login.properties中信息並顯示
package io.properties; import java.io.FileReader; import java.io.IOException; import java.util.Properties; import java.util.Set; public class TestPropertiesLoad1 { public static void main(String[] args) throws IOException { String path = "f:\\test\\login.properties"; FileReader fr = new FileReader(path); Properties prop = new Properties(); prop.load(fr); Set<String> keys = prop.stringPropertyNames(); for(String key: keys) { System.out.println(key + "=" + prop.getProperty(key)); } } } 測試結果: [email protected] password=1234 name=gaogzhen
後記 :
本項目爲參考某馬視頻開發,相關視頻及配套資料可自行度娘或者聯繫本人。上面爲自己編寫的開發文檔,持續更新。歡迎交流,本人QQ:806797785
前端項目源代碼地址:https://gitee.com/gaogzhen/vue-leyou
後端JAVA源代碼地址:https://gitee.com/gaogzhen/JAVA