0

キーとなる入力値に適用できるように、次のビジネス ルールをファイルに保存する最良の方法は何ですか?

Key-INDIA; Value-Delhi.
Key-Australia; Value-Canberra.
Key-Germany, Value-Berlin.

1つのソリューション:- Xml

<Countries>
  <India>Delhi</India>
  <Australia>Canberra</Australia>
  <Germany>Berlin</Germany>
</Countries>

ルールの数が 1000 を超えるため。Map を使用して実装することはできません。

よろしく、シュレヤス。

4

4 に答える 4

3

ファイルを使用.propertiesして、それらをキーと値のペアに保存します。

India=Delhi.
Australia=Canberra.
Germany=Berlin.

そしてjava.util.Properties、hmjd の指示に従ってそのファイルを読み取るために使用します。

例えば ​​:

       Properties prop = new Properties();      
        try {
               //load a properties file
            prop.load(new FileInputStream("countries.properties"));

               //get the property value and print it out
                System.out.println(prop.getProperty("India"));
            System.out.println(prop.getProperty("Australia"));
            System.out.println(prop.getProperty("Germany"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }
于 2012-07-10T11:20:35.930 に答える
2

java.util.Propertiesファイルからの書き込みと読み取りに使用します。

Properties p = new Properties();
p.setProperty("Australia", "Canberra");
p.setProperty("Germany", "Berlin");

File f = new File("my.properties");
FileOutputStream fos = new FileOutputStream(f);
p.store(fos, "my properties");

p.load()それらをファイルから読み戻し、p.getProperty()ロードされたらクエリを実行するために使用します。

于 2012-07-10T11:19:40.977 に答える
0

プロパティ ファイル (file.properties など) を作成します。

INDIA=Delhi.
Australia=Canberra.
Germany=Berlin.

次に、コードで:

public static void main(String[] args) {
            Properties prop = new Properties();
            try {
                    prop.load(new FileInputStream("file.properties"));
                    String value= prop.getProperty("INDIA");
                    ...

            } catch (Exception e) {
            }
    }
于 2012-07-10T11:23:29.407 に答える
0

Spring の構成を見たことがありますか? そうすれば、構成でマップを作成/作成し、キーごとにオブジェクト定義を保存できます。例えば

   <map>
      <entry key="India" value="Delhi">
   </map>

あなたはビジネス ルールについて話しているのですが、現時点では単にキーと値のペアを格納しているだけです。これらのルールがより複雑になると、単純なキーと値のペアでは不十分になります。したがって、おそらく次のようなものが必要です。

   Map<String, Country>

あなたのコードでは、Country は (今のところ) 首都を持つオブジェクトですが、将来的には (たとえば) 場所、国際電話番号のプレフィックス、税法などが含まれます。Spring では次のようになります。

  <map>
      <entry key="India" ref="india"/>
  </map>

  <!-- create a subclass of Country -->
  <bean id="india" class="com.example.India">

これは、ここでの他の提案よりもかなり複雑であることを認識しています。ただし、ルールについて話しているので、何らかの動作を構成/定義しようとしていると思われます。プロパティ (または同様のもの) を使用してこれを行うことができますが、ルールのさまざまな動作面に対してさまざまなプロパティ セットが作成される可能性があります。それはすぐに本当のメンテナンスの悪夢になります。

于 2012-07-10T11:23:51.737 に答える