2010-07-26 37 views
5

如果要將用戶創建的字符串存儲在csv文件中。 是否有一個首選的庫用於轉義字符串,或者我應該編寫自己的函數?用於存儲在csv文件中的Java轉義字符串

+0

可能重複(HTTP:/ /stackoverflow.com/questions/101100/csv-api-for-java) – finnw 2010-07-26 13:11:15

+0

http://stackoverflow.com/questions/200609/can-you-recommend-a-java-library-for-reading-and-possibly- writing-csv-files – Zaki 2010-07-26 13:12:22

+0

雖然RFC 4130非常簡單。這裏是另一個例子:http://stackoverflow.com/questions/3190303/how-to-create-csv-file-using-servlet/3190598#3190598 – BalusC 2010-07-26 14:16:43

回答

6

我建議你使用這篇文章推薦的庫之一。儘管編寫自己的CSV創建器/解析器似乎很容易,但您將遇到需要處理場景的問題,例如用逗號或用戶引號引起的用戶字符串,這些問題有時會非常麻煩。我用下面的庫和他們工作得很好: -

+0

opencsv - 尼斯,精益JAR庫,非常適合我。謝謝! – 2012-10-01 17:34:48

1

如果你正在寫自己的實現,那麼這裏就是RFC你參考: http://tools.ietf.org/html/rfc4180

如果你的字符串不是太複雜,你可以輕鬆開發小功能,而不是使用一些庫。我引用了上面的RFC,並在我的一個項目中爲相同目的創建了小函數。

1

爲尋找代碼:
添加到您的pom.xml

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

然後使用:

String escaped = StringEscapeUtils.escapeCsv("tHIS String 'needs escaping'"); 
System.out.println(escaped); //safe for csv 
[對Java API CSV]的