プロパティコレクションについての話

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);
    }

 

おすすめ

転載: blog.csdn.net/m0_69057918/article/details/131110110