Dear visitor, welcome to MastersForum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
Quoted
So einmal im Monat mit den Tieren im Fluß waschen wenn es "dein Herr" befiehlt Ragna?
This post has been edited 2 times, last edit by "KoH_Citrus" (Dec 19th 2010, 8:20pm)
Quoted
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.
Quoted
"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."
![]() |
Source code |
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) |