Ich möchte die Community Gedanken zu einem Problem. Ich habe einen Speicher- und Ladezustand in meinem Programm erstellt. Wenn ich speichere, erstelle ich eine * .csv-Datei, die die Informationen in einem bestimmten Format speichert. Wenn ich lade, lädt es die geparste * .csv-Datei. Das Problem ist, wenn ich parse, in meiner zweiten Zeile kann es so viele Zeilen wie der Benutzer will, weil es eine Beschreibung Textfeld ist. Das Format der CSV ist wie folgt:Laden und Analysieren eines CSV in Java
Benutzertitel - 1 Zeile
Anwenderbeschreibung - eine beliebige Anzahl von Zeilen
Kopf -1 Linie
Adresse Standorte -1 Zeile pro Adresse
Beispiel:
Myawesometitle,
Dies ist eine Beschreibung,
Eine sehr gute Beschreibung,
Nbr, Adresse, Stadt, Bundesland, Postleitzahl
1,5643 Marktstraße, Cincinnati, OH, 80985
2,12345 Main Avenue, Denver, CO, 67890
Wie kann ich die Benutzerbeschreibung mit mehreren Zeilen umgehen? Ich kann entweder durch parsen/n oder
Danke,
Verwenden Sie einen fertigen CSV-Leser/Schreiber, die mit Zeilenumbrüchen für Sie, oder besser, wählen Sie ein besser strukturiertes, Format als CSV, wie JSON oder XML beschäftigen. –
Warum nicht: parse die erste Zeile als Benutzertitel, dann lesen Zeile, bis Sie die eindeutige Header-Zeile (vielleicht einige ** Symbole in dieser Zeile, mit denen Sie es identifizieren können) setzen, dann weiter Zeilen analysieren. – user3494047
CSV-Dateien bestehen aus Zeilen und Feldern. Zeilen werden durch \ n Zeichen, Felder nach, oder getrennt; Charakter. Wenn ein Feld \ n enthält, oder; Dies führt zu Problemen beim Parsen der Datei. Die Konvention besteht darin, die Zeichenfolge, die problematische Zeichen enthält, in doppelte Anführungszeichen zu schreiben. "Der Parser muss nach doppelten Anführungszeichen suchen und alle interpretieren, die in Anführungszeichen – Carlo