Это будет читать ваш файл "свойств" построчно, анализировать каждую строку ввода и помещать значения в карту ключ / значение.Каждый ключ на карте уникален (дубликаты ключей не допускаются).
package samples;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.TreeMap;
public class ReadProperties {
public static void main(String[] args) {
try {
TreeMap<String, String> map = getProperties("./sample.properties");
System.out.println(map);
}
catch (IOException e) {
// error using the file
}
}
public static TreeMap<String, String> getProperties(String infile) throws IOException {
final int lhs = 0;
final int rhs = 1;
TreeMap<String, String> map = new TreeMap<String, String>();
BufferedReader bfr = new BufferedReader(new FileReader(new File(infile)));
String line;
while ((line = bfr.readLine()) != null) {
if (!line.startsWith("#") && !line.isEmpty()) {
String[] pair = line.trim().split("=");
map.put(pair[lhs].trim(), pair[rhs].trim());
}
}
bfr.close();
return(map);
}
}
Вывод выглядит следующим образом:
{playerBoots=boot109, playerBottomArmor=armor457, playerClass=Warlock, playerHelmet=empty, playerOrigin=Newlands, playerUpperArmor=armor900}
Вы получаете доступ к каждому элементу карты с помощью map.get("key string");
.
РЕДАКТИРОВАТЬ : этот код не проверяет наличие искаженной или отсутствующей строки "=".Вы можете добавить это самостоятельно при возврате из split, проверив размер массива пар.