1。概要
java.util.Properties
から継承され、Hashtable
永続的なプロパティ セットを表します。キーと値の構造を使用してデータを保存します。各キーとそれに対応する値は文字列です。このクラスは多くの Java クラスでも使用され、たとえば、システム プロパティを取得する場合、System.getProperties
メソッドはProperties
オブジェクトを返します。
2 プロパティクラス
施工方法
-
public Properties()
: 空のプロパティ リストを作成します。
独特の手法
メソッド名 |
説明する |
オブジェクト setProperty (文字列キー、文字列値) |
コレクションのキーと値をどちらも String 型で設定し、一番下にある Hashtable メソッドを呼び出します。 |
文字列 getProperty (文字列キー) |
このプロパティ リストで指定されたキーを使用してプロパティを検索します。 |
Set<String> stringPropertyNames () |
このプロパティ リストから変更不可能なキーのセットを返します。キーとそれに対応する値は文字列です。 |
ストリームに関連するメソッド
メソッド名 |
説明する |
void ロード (InputStream inStream) |
入力バイトストリームからプロパティリスト(キーと要素のペア)を読み取ります。 |
void ロード (リーダー リーダー) |
入力文字ストリームからプロパティ リスト (キーと要素のペア) を読み取ります。 |
void ストア (OutputStream out、文字列コメント) |
このプロパティのリスト (キーと要素のペア) を、load(InputStream) メソッドでの出力バイト ストリームへの使用に適した形式で、このプロパティ テーブルに書き込みます。 |
void ストア (ライター ライター、文字列コメント) |
このプロパティのリスト (キーと要素のペア) を、出力文字ストリームへのload(Reader) メソッドでの使用に適した形式で、このプロパティ テーブルに書き込みます。 |
-
public void load(InputStream inStream)
: バイト入力ストリームからキーと値のペアを読み取ります。 -
public void load(Reader reader)
: 文字入力ストリームからキーと値のペアを読み取ります。
バイト入力ストリームはパラメータで使用され、ストリーム オブジェクトを通じてファイルに関連付けることができるため、テキスト内のデータをロードできます。テキストデータ形式:
ファイル名=a.txt
長さ=209385038
場所=D:\a.txt
コードのデモをロードします。
public static void main(String[] args) throws FileNotFoundException {
// 创建属性集对象
Properties pro = new Properties();
// 加载文本中信息到属性集
pro.load(new FileInputStream("read.txt"));
// 遍历集合并打印
Set<String> strings = pro.stringPropertyNames();
for (String key : strings ) {
System.out.println(key+" -- "+pro.getProperty(key));
}
}
- public void store(OutputStream outStream,String comments): Properties コレクション オブジェクトのキーと値のペアをファイルに保存します
- public void store(Writer Writer,String comments): Properties コレクション オブジェクトのキーと値のペアをファイルに保存します
public static void main(String[] args) throws IOException {
// 创建Properties集合对象
Properties props = new Properties();
// 创建InputStream/Reader的子类对象,绑定源文件
InputStream is = new FileInputStream("day13_sw\\src\\config.properties");
// Properties集合对象调用load方法传递InputStream/Reader的子类对象,
// 把文件内容以键值对的方式加载到Properties集合对象中
props.load(is);
// 遍历集合
Set<String> propertyNames = props.stringPropertyNames();
for (String propertyName : propertyNames) {
String propertyValue = props.getProperty(propertyName);
if("age".equals(propertyName)) {//age属性的值增加10岁
props.setProperty(propertyName,Integer.parseInt(propertyValue)+10+"");
}
}
OutputStream os = new FileOutputStream("day13_sw\\src\\config.properties");
// 把Properties集合对象中的内容存储到文件中
props.store(os,null);
}