Wenn Benutzer erstellte Zeichenfolgen in einer CSV-Datei gespeichert werden soll. Gibt es eine bevorzugte Bibliothek zum Escapen der Zeichenfolge oder sollte ich meine eigene Funktion schreiben?Java Escaping String für die Speicherung in csv-Datei
Antwort
Ich schlage vor, dass Sie hier eine der von den Posts empfohlenen Bibliotheken verwenden. Es mag zwar einfach erscheinen, einen eigenen CSV-Ersteller/Parser zu schreiben, aber Sie werden auf Probleme stoßen, bei denen Sie Szenarien wie Benutzerzeichenfolgen mit Kommas oder Anführungszeichen behandeln müssen, was manchmal ziemlich umständlich sein kann. Früher habe ich die folgenden Bibliotheken und sie hat gut funktioniert: -
opencsv - Schöne, schlanke JAR-Bibliothek, die gut für mich gearbeitet hat. Vielen Dank! –
Wenn Sie Ihre eigene Implementierung schreiben, dann ist hier RFC für Sie Hinweis: http://tools.ietf.org/html/rfc4180
Wenn Ihre Zeichenfolge nicht zu kompliziert ist, können Sie leicht eine kleine Funktion entwickeln, anstatt eine Bibliothek zu verwenden. Ich habe oben auf RFC verwiesen und kleine Funktion für den gleichen Zweck in einem meiner Projekte erstellt.
Ich endete mit StringEscapeUtils, vor allem, weil ich bereits die Abhängigkeit in meinem Projekt hatte. Klappt wunderbar! Prost
Für alle, für die Code-Suche:
fügen Sie diese zu Ihrer pom.xml
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
Dann nutzen:
String escaped = StringEscapeUtils.escapeCsv("tHIS String 'needs escaping'");
System.out.println(escaped); //safe for csv
- 1. aus einem String Escaping regex
- 2. Escaping Komma in Java
- 3. Escaping einfache Anführungszeichen für Java MessageFormat
- 4. Einfaches Design für die Speicherung von Doppel Enum [] String triple
- 5. BOM-Codierung für die Speicherung in Datenbanken
- 6. MacRuby - ActiveRecord für die Speicherung?
- 7. Escaping von HTML in Java
- 8. Escaping Argumente für string.Format in einer C# mehrzeilige wörtlich String
- 9. Escaping einfache Anführungszeichen in JavaScript String für JavaScript-Auswertung
- 10. Escaping String in weniger und vorübergehende Variablen
- 11. Lebensdaueranforderungen für die Speicherung von std :: exception_ptr
- 12. C# separate Klasse für die Speicherung
- 13. SQL-Escaping und Masseneinfügung in Java
- 14. Python: Escaping Zeichenfolgen für die Verwendung in XML
- 15. Automatische Speicherung() für geschachtelte Objekte in PLAY!
- 16. Android Realm Speicherung int [] und String []
- 17. Speichergröße eines String Array Speicherung Binärcodes
- 18. Escaping Leerzeichen Android strings.xml
- 19. Reduzierung der Redundanz in Daten für die Speicherung in MySQL
- 20. Escaping String-Konstanten zum Einbetten in ein Std :: Regex
- 21. Escaping Klammer in PHP {}
- 22. Container oder Datenstruktur geeignet für die Speicherung von Millisekunden Daten
- 23. Java java.time.format.DateTimeParseException für String
- 24. Der beste Ort für die Speicherung von Benutzeranmeldeinformationen in Android
- 25. Standard-Funktion für Escaping-Strings in SQL
- 26. Was ist die beste Strategie für die Speicherung großer Datenmengen?
- 27. Problem Escaping
- 28. Escaping zitiert in jinja2
- 29. Escaping zitiert in jinja2
- 30. Escaping @ in Eigenschaftswert
möglich Duplikat [csv API für Java] (http://stackoverflow.com/questions/101100/csv-api-for-java) – finnw
http://stackoverflow.com/questions/200609/can-you-recommend-a-java-library-for-reading-and-possibly- Schreiben-csv-Dateien – Zaki
RFC 4130 ist zwar ziemlich einfach . Hier ist ein weiteres Beispiel: http://stackoverflow.com/questions/3190303/how-to-create-csv-file-using-servlet/3190598#3190598 – BalusC