rendered paste bodypackage 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<String> config = new ArrayList<String>();
private HashMap<String,Integer> configMap = new HashMap();
private HashMap<String,Integer> 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);
}
}