#1 17. Mai 2010 konfigurationsfile auslesen Mein Problem: Wir bekommen ein file mit der erweiterung .cfg welches wir anwählen können. in diesem File befinden sich alle angaben welche wir auslesen sollen. Bsp: Description = Configuration avec les règles de base ColorOn = [220,220, 50] ColorOff = [ 20, 50,120] TimeLimit = 240 // Temps limite : 4 minutes [0,0] >> [0,0]+[0,1]+[1,0]+[1,1] [0,1] >> [0,0]+[0,1]+[0,2] [0,2] >> [0,1]+[0,2]+[1,1]+[1,2] [1,0] >> [0,0]+[1,0]+[2,0] bei diesem müssen wir dann die Werte auslesen können und in variablen speichern. hat jemand eine Idee wie man das am besten macht? ich habe mir gedacht es mit redex zu versuchen. könnte mir jemand den code schreiben? mfg poepel + Multi-Zitat Zitieren
#2 17. Mai 2010 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: konfigurationsfile auslesen {img-src: //www.holtsauto.com/images/products/additives/petrol/redex-petrol-injector-cleaner-low.png} ---- hast du schon angefangen zu programmieren? wenn ja: poste deinen code wenn nein: Code: Ich suche Programmierer [Sammelthema] - RR:Board[/URL] + Multi-Zitat Zitieren
#3 17. Mai 2010 AW: konfigurationsfile auslesen Ich werde dir keinen ganze Code schreiben, aber hier was als Starthilfe: Code: Scanner scanner = new Scanner(new File("datei.cfg")); while(scanner.hasNextLine()) { String line = scanner.nextLine(); Matcher m = null; if((m = Pattern.compile("<REGEX>").matcher(line)).find()) { // auslesen der Regex-Gruppen mit m.group(<Gruppen-Nr.>) } else if( /* andere Regexe für die anderen Muster testen */) ... } scanner.close(); + Multi-Zitat Zitieren
#4 17. Mai 2010 AW: konfigurationsfile auslesen habe es vorsorlgich folgendermassen gelöst: Code: try { File datei = new File(fileName); FileReader leser = new FileReader(datei); BufferedReader buffer = new BufferedReader(leser); while((Zeile = buffer.readLine()) != null){ String RegexColor = "[0-9]?[0-9]?[0-9]"; String RegexTime = "[0-9]?[0-9]?[0-9]"; Pattern p; Matcher m; p = Pattern.compile("ColorOn"); m = p.matcher(Zeile); while(m.find()) { p = Pattern.compile(RegexColor); m = p.matcher(Zeile); int i=0; while(m.find()){ coloron[i]= Integer.parseInt(m.group()); i++; } } p = Pattern.compile("ColorOff"); m = p.matcher(Zeile); while(m.find()) { p = Pattern.compile(RegexColor); m = p.matcher(Zeile); int i=0; while(m.find()){ coloroff[i]= Integer.parseInt(m.group()); i++; } } p = Pattern.compile("TimeLimit"); m = p.matcher(Zeile); while(m.find()) { p = Pattern.compile(RegexTime); m = p.matcher(Zeile); int i=0; while(m.find()){ time[i]= Integer.parseInt(m.group()); i++; } } p = Pattern.compile("ClickLimit"); m = p.matcher(Zeile); while(m.find()) { p = Pattern.compile(RegexTime); m = p.matcher(Zeile); while(m.find()){ ClickLimit = Integer.parseInt(m.group()); } } p = Pattern.compile("\\[.*?\\].*?\\[.*\\]"); m = p.matcher(Zeile); while(m.find()) { String found = m.group(); System.out.println(found); p = Pattern.compile("[0-9]"); m = p.matcher(found); int i=0; while(m.find()){ regel[i]= Integer.parseInt(m.group()); i++; } for(int j=0;j+3<=i;j+=2){ regelmatrix[3*regel[0]+regel[1]][3*regel[j+2]+regel[j+3]]=1; } } } leser.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); sollte funktionieren, danke für die antworten. bw is raus Chilikid mfg poepel + Multi-Zitat Zitieren
#5 17. Mai 2010 AW: konfigurationsfile auslesen ich glaub einfacher würds gehn da folgendes zu benutzen http://de.wikipedia.org/wiki/Java-Properties-Datei hast zwar schon die Lösung gemacht aber vielleicht interessierts dich trotzdem + Multi-Zitat Zitieren
#6 17. Mai 2010 AW: konfigurationsfile auslesen Er hat ja aber eine Datei vorgegeben. Ansonsten hast du aber recht, eine properties-Datei ist eindeutig die bessere und einfachere Lösung. + Multi-Zitat Zitieren
#7 17. Mai 2010 AW: konfigurationsfile auslesen ist wirklich eine interessante option, leider funktioniert das nicht mit einer .cfg endung. mfg poepel + Multi-Zitat Zitieren
#8 18. Mai 2010 AW: konfigurationsfile auslesen file einfach umbennenen? ansonsten halt, wie schon beschrieben mit einem file-sanner -> jede zeile mit regulären ausdruck auswerten. + Multi-Zitat Zitieren
#9 18. Mai 2010 AW: konfigurationsfile auslesen Das umbenennen der Datei ändert ja nichts an ihrem Inhalt und der ist in der Aufgabenstellung nun mal nicht mit dem Inhalt einer properties-Datei kompatibel. + Multi-Zitat Zitieren