0

Rubyには以下のsample.ymlファイルがあります。

1_Group1:
   path:asdf
   filename:zxcv

2_Group2:
  path:qwer
  filename:poiu
etc etc............

次に、 Example.propertiesファイルJavaが必要です。このファイルには、上記のデータが含まれている必要があります。

Javaを使用して、 Example.propertiesファイルを読みたいと思います。

次に、グループの数に基づいてコンテンツを繰り返し、対応する「パス」と「ファイル名」の値を取得する必要があります。

例:5つのグループがある場合..Group1、Group2 .... Group5次に、反復する必要があります

      for(int i=0; i< noofgroups(5);i++){
            ........................
           String slave =  aaa.getString("path");
            aaa.getString("filename");
        }

このように、各パスとファイル名を取得する必要があります。

これで、Example.propertiesが次のようになりました。

   path:asdf
   filename:zxcv

動作しています(値を読み取って取得できます)

しかし、私は「パス」と「ファイルニーム」としてメイキーを持っている必要があります。だから私はそれらをグループ化する必要があります。

4

3 に答える 3

1

これにはいくつかの方法があります。最も自然なのは、YAML、JSON、または XML などの自然な階層形式を使用することです。

もう 1 つのオプションは、階層 INI スタイルのようなCommons Configuration の階層構成技術の 1 つを使用することです。

「純粋な」プロパティ ファイルを使用する場合は、プロパティを読み込んで、プロパティ名をピリオドで分割し、マップまたはクラスに保存することをお勧めします。

1_Group1.path=asdf
1_Group1.filename:zxcv

2_Group2.path=qwer
2_Group2.filename=poiu
于 2013-01-31T19:39:59.817 に答える
1

フォーマットを使用したい場合は、 yamlbeansyamlを見つけることができます

次のように使用できます。

YamlReader reader = new YamlReader(new FileReader("sample.yml"));
Map map = (Map)reader.read();
System.out.println(map.get("1_Group1"));
于 2013-01-31T19:29:41.443 に答える
1

java.utils.Properties次の方法で使用できます。

public static void loadPropertiesAndParse() {
    Properties props = new Properties();
    String propsFilename = "path_to_props_file";
    FileInputStream in = new FileInputStream(propsFilename);
    props.load(in);
    Enumeration en = props.keys();
    while (en.hasMoreElements()) {
        String tmpValue = (String) en.nextElement();
        String path = tmpValue.substring(0, tmpValue.lastIndexOf(File.separator)); // Get the path
        String filename = tmpValue.substring(tmpValue.lastIndexOf(File.separator) + 1, tmpValue.length()); // Get the filename
    }
}

propertiesファイルは次のようになります。

key_1=path_with_file_1
key_2=path_with_file_2
于 2013-01-31T20:00:11.823 に答える