Java Properties クラス:初心者のガイド
はじめに
こんにちは、未来のJavaの魔法使いたち!今日は、Java Propertiesクラスの魔法の世界に飛び込もうと思います。まだ一度もコードを書いたことがなくても心配しないでください - あなたの友好的なガイドとして、私はこの素晴らしい旅にあなたを案内します。このチュートリアルの終わりまでに、あなたはプロのようにプロパティを操作することができるようになります!
Propertiesクラスは、Javaにおける特別な辞書のようなものです。それは、プログラムの設定情報を保存し、管理するために使用されます。それをデジタルのメモ帳と考えてみてください。そこに重要な情報を書き込んで、後で簡単に取り出すことができます。クールでしょう?
クラスの宣言
基本的なことから始めましょう。Javaでは、Propertiesクラスは以下のように宣言されます:
public class Properties extends Hashtable<Object,Object>
今はアルファベットのスープみたいに見えるかもしれませんが、少しずつ説明しましょう:
-
public
は、このクラスを誰もが使用できることを意味します -
class
は、新しいタイプのオブジェクトを定義していることをJavaに伝えます -
Properties
は、私たちのクラスの名前です -
extends Hashtable<Object,Object>
は、PropertiesがJavaの別の種類の辞書であるHashtableの特別なタイプであることを意味します
フィールド
Propertiesクラスには、重要なフィールドが1つあります:
protected Properties defaults;
これは、バックアップ用のノートブックと考えてください。メインのPropertiesオブジェクトに見つからない場合、Javaはこのバックアップを確認します。
クラスのコンストラクタ
次に、Propertiesオブジェクトの作成方法を見ていきましょう。これは、新しいノートブックを買うのに似ています - 複数の選択肢があります:
-
空のノートブックを取得する:
Properties prop = new Properties();
-
事前に情報が書かれたノートブックを取得する:
Properties prop = new Properties(Properties defaults);
クラスのメソッド
ここで、本当の魔法が起こります!Propertiesクラスには、便利なメソッドのセットがあります。いくつか見ていきましょう:
1. プロパティの設定
prop.setProperty("name", "Alice");
これは、ノートブックに"名前:Alice"と書くのと同じです。
2. プロパティの取得
String name = prop.getProperty("name");
これは、ノートブックの"名前"の値を検索することです。
3. ファイルからプロパティを読み込む
FileInputStream fis = new FileInputStream("config.properties");
prop.load(fis);
これは、別の紙から情報を全てコピーしてノートブックに書き込むのと同じです。
4. プロパティをファイルに保存する
FileOutputStream fos = new FileOutputStream("config.properties");
prop.store(fos, "My Properties");
これは、ノートブックの内容をコンピュータのファイルに保存するのと同じです。
継承されたメソッド
Propertiesクラスは、親クラスからメソッドを継承しています。これは、親からスキルを学ぶのと同じです!以下はいくつかの例です:
-
Hashtable
から:clear()
,contains()
,isEmpty()
-
Dictionary
から:elements()
,get()
,put()
-
Object
から:equals()
,hashCode()
,toString()
プロパティのキーの列挙を取得する例
では、この知識を実際の例で実践してみましょう:
import java.util.*;
public class PropertiesDemo {
public static void main(String[] args) {
// 新しいPropertiesオブジェクトを作成
Properties capitals = new Properties();
// 一部のプロパティを設定
capitals.setProperty("USA", "Washington D.C.");
capitals.setProperty("UK", "London");
capitals.setProperty("France", "Paris");
// プロパティ名の列挙を取得
Enumeration<?> e = capitals.propertyNames();
// 列挙を反復処理
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = capitals.getProperty(key);
System.out.println(key + " = " + value);
}
}
}
これを分解してみましょう:
- 新しいPropertiesオブジェクト
capitals
を作成 - 一部の国と首都のペアをPropertiesに追加
-
propertyNames()
を使用してすべてのキー(この場合は国)を取得 -
while
ループを使用して、各キーを反復処理し、国と首都を出力
出力
このプログラムを実行すると、以下のようなものが表示されます:
France = Paris
UK = London
USA = Washington D.C.
それでおしまい!Propertiesオブジェクトを作成し、設定し、反復処理することができました。素晴らしいと感じていますか?
覚えるのは練習です。自分の好きな本と著者、またはスポーツチームとその主場都市を持つPropertiesオブジェクトを作成してみてください。それを楽しむことができるほどに、より楽になります。
Java Propertiesは小さなツールのように見えるかもしれませんが、実際のアプリケーションでは非常に便利です。ゲームを作成していて、ユーザー設定を保存する必要がある場合、例えば音量レベルや難易度など - Propertiesはそのための完璧な選択肢です!
コーディングを続け、探求を続け、最も重要なのは楽しむことを忘れないでください!知らずに、あなたはプロのようにPropertiesを操作するJavaのジャグラーになっていることに気づくでしょう。次回まで、幸せなコーディングを!
Credits: Image by storyset