2010-07-26 13 views
5

Jeśli chcesz przechowywać utworzone przez użytkownika ciągi w pliku csv. Czy istnieje preferowana biblioteka do użycia dla Escaping the string lub czy powinienem napisać własną funkcję?Łańcuch wyjściowy Java do przechowywania w pliku CSV

+0

możliwe duplikat [csv api dla Java] (http://stackoverflow.com/questions/101100/csv-api-for-java) – finnw

+0

http://stackoverflow.com/questions/200609/can-you-recommend-a-java-library-for-reading-and-possibly- pisanie-csv-files – Zaki

+0

RFC 4130 jest dość prosty . Oto inny przykład: http://stackoverflow.com/questions/3190303/how-to-create-csv-file-using-servlet/3190598#3190598 – BalusC

Odpowiedz

6

Proponuję skorzystać z jednej z bibliotek zalecanych przez post (s) tutaj. Chociaż może się wydawać, że łatwo napisać swój własny twórca/parser CSV, napotkasz problemy, w których musisz obsługiwać scenariusze, takie jak ciągi użytkownika z przecinkami lub cudzysłowami, które czasami mogą być dość kłopotliwe. Użyłem następujących bibliotek i pracowali w porządku: -

+0

opencsv - Ładna, chuda biblioteka JAR, która sprawdziła się doskonale. Dzięki! –

1

Jeśli piszesz swoją realizację, to tutaj jest RFC dla odwołać: http://tools.ietf.org/html/rfc4180

Jeśli twój ciąg nie jest zbyt skomplikowany, możesz łatwo rozwinąć małą funkcję, zamiast korzystać z jakiejś biblioteki. Wymieniłem powyżej RFC i stworzyłem małą funkcję do tego samego celu w jednym z moich projektów.

1

Dla każdego, kto szuka kodu:
dodać do swojej pom.xml

<dependency> 
    <groupId>commons-lang</groupId> 
    <artifactId>commons-lang</artifactId> 
    <version>2.6</version> 
</dependency> 

Następnie użyj:

String escaped = StringEscapeUtils.escapeCsv("tHIS String 'needs escaping'"); 
System.out.println(escaped); //safe for csv 
Powiązane problemy