key=value 形式でフォーマットされた情報を含むテキスト ファイルがあります。キーを検索して値を返すにはどうすればよいですか。
たとえば、ファイルに次のものが含まれているとします。
KeyOne=ValueOne
KeyTwo=ValueTwo
KeyOne を受け取り、ValueOne を返すメソッドが必要です。
key=value 形式でフォーマットされた情報を含むテキスト ファイルがあります。キーを検索して値を返すにはどうすればよいですか。
たとえば、ファイルに次のものが含まれているとします。
KeyOne=ValueOne
KeyTwo=ValueTwo
KeyOne を受け取り、ValueOne を返すメソッドが必要です。
わかりました、私は気分が良いです:)、テストされていません:
//given that 'input' got the contents of the file
Map<String,String> m = new HashMap<String,String>();
//this can be done more efficient probably but anyway
//normalize all types of line breaks to '\n'
input = input.replaceAll("\r\n","\n");
input = input.replaceAll("\r","\n");
//populate map
String[] lines = input.split("\n");
for(int i=0 ; i< lines.length; i++){
String[] nv = lines[i].split("=");
m.put(nv[0],nv[1]);
}
//get value given key:
String key = "somekey";
String someValue = m.get(key);
System.out.println(someValue);
Scanner s = new Scanner("Filename");
Map<String, String> m = new HashMap<String, String>();
while(s.hasNext()){
String line[] = s.nextLine().split("=");
m.put(line[0], line[1]);
}
値を取得するには:
m.get(ValueOne);
必要なのは名前と値のペアを読み取ることだけであり、それが構成の性質である場合は、Java でプロパティ ファイルを使用することを検討できます。
これをチェックできます http://www.mkyong.com/java/java-properties-file-examples/
たくさんの方法。あなたは出来る
を。ファイルを 1 行ずつ読み取り、入力を分割してからマップに入力します
b. ファイル全体に正規表現検索を適用する
c. 全文検索のインデックスを作成できます
それはすべて、ユースケースによって異なります。コンテキストを理解せずにアプローチを推奨することは困難です。