Lesen Sie den text-Datei und speichert die Schlüssel-Wert-Paare in verschiedenen Karten
Dies ist der text der Datei:
#Person
PRIM_KEY=personId
SEX=gender
YEARS=age
NAME=fullName
#Automobil
PRIM_KEY=registrationNumber
MAKE=manufacturer
TYPE=model
Lesen der Datei:
Scanner scanner = new Scanner(new FileReader("C:/workspace/column-mapping.txt"));
Wenn ich Begegnung #Person
in der folgenden Karte definiert:
Map<String, String> personMap = new LinkedHashMap<String, String>();
Ich soll zum speichern von Schlüssel-Wert-Paare darunter.
So speichern Sie diese Schlüssel-Wert-Paare in personMap
:
PRIM_KEY=personId
SEX=gender
YEARS=age
NAME=fullName
Ebenso, wenn ich Begegnung #Automobil
in der folgenden Karte
Map<String, String> automobilMap = new LinkedHashMap<String, String>();
Möchte ich diese Schlüssel-Wert-Paare gespeichert:
PRIM_KEY=registrationNumber
MAKE=manufacturer
TYPE=model
Wenn ich die Datei Lesen, wie Sie diese speichern von Schlüssel-Wert-Paare in zwei verschiedenen Karten je nach, in diesem Beispiel #Person
und #Automobil
?
EDIT Sample Code:
Scanner scanner = new Scanner(new FileReader("C:/workspace/column-mapping.txt"));
Map<String, String> personMap = new LinkedHashMap<String, String>();
Map<String, String> automobilMap = new LinkedHashMap<String, String>();
String line;
while (scanner.hasNext()) {
line = scanner.next();
if (!line.startsWith("#") && !line.isEmpty()) {
String[] columns = line.split("=");
personMap.put(columns[0], columns[1]);
}
}
System.out.println(personMap);
Diese Weise kann ich alle Schlüssel-Wert-Paare in einer map personMap
. Aber je nach den Abschnitten, ich möchte in der Lage sein, um es in verschiedenen Karten.
- Und Ihre Frage ist?
- möglich, Duplikat der wie zu Lesen, eine config-Datei mit den Abschnitten über Java
- Naja ... ich würde vorschlagen, Sie schreiben code, der die Anforderung erfüllt, dass du gepostet hast. ... Oder Sie zahlen etwas Geld, um jemanden, der schreibt den code für Sie. Ich tun würde ...
- Sie haben bereits 90% der benötigten code - Sie müssen nur immer daran denken die Karte, die Sie aktuell hinzufügen und Schalter, anzeigen-Referenz-je nach text hinter dem " # " - Zeichen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchte ich vorschlagen, dass Sie zwei verschiedene Ansätze.
Der erste Ansatz ist einfach, die Lösung Ihres Problems mit der wenn-Fall, in dem zweiten Ansatz bin ich angenommen, dass Sie speichern möchten mehrere Automobil-und mehrere Person, so bin ich die Schaffung von zwei Klassen, um das problem zu lösen.
Ich hoffe, dass dies nützlich sein kann, war es interessant zu machen, diesen code
Ersten Ansatz
Zweite Ansatz
Die beiden Klassen für den zweiten Ansatz
}
Nicht die eleganteste Lösung, aber es funktioniert.