package ts; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Config { private ArrayList config = new ArrayList(); private HashMap configMap = new HashMap(); private HashMap defaultConfig = new HashMap(); private static Pattern pattern; private static Matcher matcher; public Config() { config.add("nwmin"); config.add("nwmax"); config.add("dagarmax"); config.add("dagarmin"); config.add("fick"); config.add("tjuvar"); defaultConfig.put("nwmin", 0); defaultConfig.put("mwmax", 0); defaultConfig.put("dagarmax",0); defaultConfig.put("dagarmin", 0); defaultConfig.put("fick", 0); defaultConfig.put("tjuvar", 0); try { File koll = new File("TS.conf"); if (!koll.exists()) { FileWriter fw = new FileWriter("TS.conf"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); for (String conf : config) { pw.println(conf + " = " + (String) defaultConfig.get(conf).toString()); } pw.close(); } FileReader fr = new FileReader("TS.conf"); BufferedReader br = new BufferedReader(fr); for (String conf : config) { String REGEX = conf + " = [0-9].*"; pattern = Pattern.compile(REGEX); String line = br.readLine(); matcher = pattern.matcher(line); if (!matcher.matches()) { configMap.put(conf, defaultConfig.get(conf)); } else { String ersatt = matcher.group(); ersatt = ersatt.replaceAll("kP1[a-zA-Z].*= ", ""); configMap.put(conf, Integer.parseInt(ersatt) ); } } br.close(); save(); } catch (Exception e) { e.printStackTrace(); } } public void save() { try { FileWriter fw = new FileWriter("TS.conf"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); for (String conf : config) { pw.println(conf + " = " + (String) configMap.get(conf).toString()); } pw.close(); } catch (Exception e) { e.printStackTrace(); } } public Object get(String conf) { return configMap.get(conf); } public void set(String conf, int value) { configMap.put(conf, value); } }