3

このようなプロパティのリストがあります。

server1.serverName =""
server1.serverType ="'
server1.hostName =""
server1.userName =""
server1.password =""

プロパティファイルに、次のような「n」個のセットがあります

server2, server3,...servernプロパティファイルで。また、ゲッターとセッターメソッドを使用してこれらの要素をすべて含むクラスがあります。

public class ServerDetails implements Serializable {

  private String serverName;
  private String serverType;
  private String hostName;
  private String userName;
  private String password;
  ...
}

ここで、上記のプロパティ ファイルを読み取り、次のような配列リストを作成する必要があります。

ArrayList<ServerDetails> serverDetailsList = new ArrayList<ServerDetails>();

arrayList の各要素には、クラス ServerDetails のオブジェクトが必要です。オブジェクトを作成してリストに追加できるように、プロパティ ファイルを読み取ってサーバーの詳細を取得する方法を知る必要があります。

簡単そうですが、道に迷ってしまいました。親切に助けてください。

ありがとうございました !!

よろしく、 バラ

4

4 に答える 4

1

プロパティ ファイルをPropertiesオブジェクトにロードしてから、次のようにプロパティをループできます。

int i = 1;
while( properties.get( "server" + i + ".serverName" ) != null ) {
    ServerDetails details = new ...
    details.setServerName( properties.get( [as above] ) );
    ...
    list.add( details );
    ++i;
}
于 2013-09-23T16:31:50.733 に答える
0

簡単な例:

private static final String KEY ="server";
public static void main(String[] args) throws IOException {
    Properties properties = new Properties();
    properties.load(new FileInputStream("props.properties"));
    int i = 1;
    while (properties.containsKey(KEY + i + ".serverName")) {
        String serverName = properties.getProperty(KEY + i + ".serverName");
        String serverType = properties.getProperty(KEY + i + ".serverType");
        String hostName = properties.getProperty(KEY + i + ".hostName");
        String userName = properties.getProperty(KEY + i + ".userName");
        String password = properties.getProperty(KEY + i + ".password");
        System.out.println(serverName);
        System.out.println(serverType);
        System.out.println(hostName);
        System.out.println(userName);
        System.out.println(password);
        i++;
    }

}

小道具.プロパティ:

 server1.serverName =1
 server1.serverType =2
 server1.hostName =3
 server1.userName =4
 server1.password =5

 server2.serverName =6
 server2.serverType =7
 server2.hostName =8
 server2.userName =9
 server2.password =10
于 2013-09-23T16:34:40.353 に答える
0
Properties properties = new Properties();
properties.load(new FileInputStream("application.properties"));
int i = 1;
String serverNameKey = "server" + i + ".serverName";

while (properties.containsKey(serverNameKey)) {
    String serverName = (String) properties.get(serverNameKey);
            //Read other properties
    // Create new ServerDetails
    // Add to list
    i++;
}
于 2013-09-23T16:35:21.363 に答える