package lecture.fileio;

/**
  ■ プロパティ Java

  ・プロパティとは、プログラムの動作環境などを保存しておく「キーと値のペア」のことを言う
  ・これによって、プログラムの設定を保存し、次回に起動した時に同じ設定を復活することができる

  注、「プロパティ」とは、プログラミングの世界では「オブジェクトの中のフィールド」のことも意味するが、Javaでは、上記の意味である

  ・プロパティの一種として、Javaやパソコンの実行環境が保存されている「システムプロパティ」というものがある
    ・システムプロパティは設定・変更することもできるが、標準のプロパティは原則として変更すべきではない

  ・利用手順手順は次の通り
    ・プロパティが保存されているファイルからプロパティの一覧を読み込む
    ・プロパティを読んで利用する
    ・プロパティを設定する
    ・プロパティの一覧を元のファイルに書き出す

    注、プロパティを保存するファイル名を指定できることから分かるように、プロパティの組は、複数個用意することかできる
        すなわちAさんの設定、Bさんの設定と分けることができる

  ・プロパティのR/Wのサンプルは、下記を参照
    起動方法はargs[0]にプロパティの値を指定する
    最初はプロパティが設定されていないのでエラーとなる
    次回に起動したときには、初回に設定したプロパティ値が表示される
    args[0]に設定する値を変更すれば、次回に表示される

    注、サンプルではプロパティファイルのR/WにFileReader,BufferedReader,FileWriter,BufferedWriterを使ったが、FileInputStream,FileOutputStreamを使ってもよい
    注、サンプルで使用したプロパティファイル(propList)がプロジェクトの直下に作成されている

  ・システムプロパティを取得するには、java.lang.Systemクラスを利用する
    下記を参照

  ・XML形式でプロパティを保存することができる → 省略

  ・大規模な業務システム
    プロパティは、前述のように「プログラムの設定値」を保存するような用途に使用する
    しかし大規模な業務システムでは、データベースに定数を定義するのが一般的
    例えば次のようなカラムのテーブルを用意して保存しておく
      カテゴリ
      カテゴリの説明
      定数
      定数の説明
      定数の値
    カテゴリと定数を指定して値を取得する

 */
class PropertyDesc {
}
//---------------------------------------------------
//・目次 - ファイル入出力
//  http://blogs.yahoo.co.jp/artery2020/40607767.html
//・目次 - Java入門
//  http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
//  http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
//  http://blogs.yahoo.co.jp/artery2020/39657784.html
//・目次 - 単なる雑談
//  http://blogs.yahoo.co.jp/artery2020/40599964.html
//---------------------------------------------------