ich habe eine Frage bezüglich auslesen einer ini-Datei. Ich habe ein jCombobox, indem man ini-Dateien aus einem bestimmten Ordner auswählen kann. Nun möchte die daten auslesen. Mit "FileInputStream" kann ich die Datei einlesen.
Wie kann ich z.B. ein Feld, dass wie folgt lautet:
"Modules =m1,m2" auslesen, um die Strings m1 und m2 wieder zu erhalten. Dies sind z.B. Tabellennamen einer DB. ???:L
Wie kann ich z.B. ein Feld, dass wie folgt lautet:
"Modules =m1,m2" auslesen, um die Strings m1 und m2 wieder zu erhalten. Dies sind z.B. Tabellennamen einer DB. ???:L
Hi, ich versuch mich grad dran und bin am verzweifeln. Ich möchte aus einer ini Datei solche Daten auslesen: "Choosed Modules =m2,m3,m4" und "ModuleKombo =m2||m3,m2||m4,m3||m4"
Dabei benötige ich beim ersteren das Array mit "m2,m3,m4", dass ich durch Schandros Hilfe angezeigt bekomme.
Doch wie kann ich das Array mit "m2||m3,m2||m4,m3||m4" bekommen?
Mein Ansatz:
ich versteh immer noch nicht warum du nicht Properties nimmst und dann die strings zerlegst... dein ansatz geht nun mit 2 Zeilen, wenn eine 3. hinzu kommt musst du komplett umschreiben, wenn eine 4 kommt wieder etc.
dort hast du dann auch nicht das problem nach dem = zu splitten etc...
Hi, ich habe mal versucht das ganze mit Properies zu lösen - komme leider grad nicht weiter!
Meine Ini Datei beinhaltet ja z.B. folgendes:
Choosed_Modules=m1,m2,m3
ModuleKombo=m1||m2,m1||m3,m2||m3
Wobei die Anzahl der Elemente varieren kann!
Nun habe ich folgendes versucht:
Java:
publicVectorreadData(){Vector vector =newVector();Properties p =newProperties();FileInputStream fin =null;File f =newFile("Scenario/"+ scenarioNameComboBox.getSelectedItem());try{
fin =newFileInputStream(f);
p.load(fin);if(p.getProperty("Choosed_Modules=")!=null){StringTokenizer st =newStringTokenizer(p.getProperty("Choosed_Modules="),",");while(st.hasMoreTokens()){
vector.add(st);}}}catch(IOException ex){System.err.println("Error reading file: "+ f.getAbsolutePath());}finally{if(fin !=null){try{
fin.close();}catch(IOException e){System.err.println("Couldn't close stream to file: "+ f.getAbsolutePath());}}}for(Iterator it = vector.iterator(); it.hasNext();){String object =(String) it.next();System.out.println(object);}return vector;}
Ich versuch erstmal nur "Choosed_Modules"! Aber nichts!!
Und ich möchte "Choosed_Modules" und "ModuleKombo" seperat in Variablen speichern.
publicVectorreadData(){Vector vector =newVector();Properties p =newProperties();FileInputStream fin =null;File f =newFile("Scenario/"+ scenarioNameComboBox.getSelectedItem());try{
fin =newFileInputStream(f);
p.load(fin);if(p.getProperty("Choosed_Modules")!=null){StringTokenizer st =newStringTokenizer(p.getProperty("Choosed_Modules"),",");while(st.hasMoreTokens()){
vector.add(st);}}}catch(IOException ex){System.err.println("Error reading file: "+ f.getAbsolutePath());}finally{if(fin !=null){try{
fin.close();}catch(IOException e){System.err.println("Couldn't close stream to file: "+ f.getAbsolutePath());}}}for(Iterator it = vector.iterator(); it.hasNext();){String object =(String) it.next();System.out.println(object);}return vector;}
Habe das "=" entfernt!
Meine Frage lautet warum bekomme ich die Meldung "Java heap space
"? Ich will ja mit dem Tokenizer meine daten aufspliten und in verschiedenen Variablen(Typ Vector) speichern
Was soll denn das für eine Meldung sein? "Java heap space"?
Eine Fehlermeldung sicher nicht! Und in welcher Zeile tritt diese
Meldung auf?
Versuch' doch mal genauer zu beschreiben, was eigentlich deine
Frage ist. Und wenn du Fehlermeldungen erhälst, poste bitte
die erste Zeile dieser Fehlermeldung vollständig und zeig'
uns, in welcher Zeile dieser Fehler auftrat!