Lieber Besucher, herzlich willkommen bei: MastersForum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Zitat
So einmal im Monat mit den Tieren im Fluß waschen wenn es "dein Herr" befiehlt Ragna?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »KoH_Citrus« (19.12.2010, 20:20)
Zitat
Original von KoH_Citrus
http://openbook.galileocomputing.de/java…faa3f8cf6ab830a
vielleicht die keys der textdatei zu erst in eine liste einlesen.
und dann mit der hashmap vergleichen und eine neue textdatei rausschreiben.
Zitat
"Ich möchte einfach eine hashmap in eine datei speichern und schauen, dass in der datei kein key zwei mal vorkommt, sondern dass die values dann einfach in die selbe zeile noch hinten dran geschrieben werden."
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Vector<String> strings; // die drei Werte StringBuffer newFileContent = new StringBuffer(); // Inhalt der Ausgabedatei File txtFile = new File("blablubb.txt"); // Eingabedatei BufferedReader br = new BufferedReader(new FileReader(txtFile)); String line = br.readLine(); // erste Zeile lesen while (line != null) // Datei noch nicht zu Ende { newFileContent.add(line); if (map.get(line) != null) // Schlüssel aus Datei auch in Map => Werte hinzufügen { strings = map.get(line); newFileContent.add(";" + strings.get(0) + ";" + strings.get(1) + ";" + strings.get(2)); map.remove(line); // Schlüssel war schon eingetragen => muss nicht mehr hinten angefügt werden } newFileContent.add("\n"); // Zeilenumbruch line = br.readLine(); // nächste Zeile } Set<String> keys = map.keySet(); // verbleibende Schlüssel Iterator<String> it = keys.iterator(); String key; // aktueller Schlüssel while (it.hasNext()) // noch Schlüssel übrig { key = it.next(); strings = map.get(key); newFileContent.add(key + ";" + strings.get(0) + ";" + strings.get(1) + ";" + strings.get(2) + "\n"); } FileWriter fw = new FileWriter(new File("outputFile.txt")); fw.write(newFileContent.toString()); fw.flush(); // sofort schreiben (brauchen wir hier nicht unbedingt, sollte man sich aber angewöhnen) fw.close(); // Datei freigeben (brauchen wir auch nicht, aber auch zum Angewöhnen) |