将.csv文件从UTF-8转换为iso 8859-1 Java

时间:2018-01-27 16:40:24

标签: java file csv utf-8 opencsv

我必须在Java中读取.csv文件,然后将其从UTF-8转换为iso 8859-1。任何提示?我知道我必须使用opencsv库来读取java中的文件,但我不知道如何进行转换。 非常感谢所有提示。

1 个答案:

答案 0 :(得分:1)

据我所知,CSV文件采用UTF-8编码,您希望以ISO-8859-1输出文件。

Java字符串包含字符,无论它们来自某些编码源。

所以,这是两个步骤:

  • 必须将CSV阅读器配置为解码UTF-8。我不懂图书馆。如果它有一个Charset构造函数参数或类似的东西,那么在那里提供UTF-8。如果没有,您可以尝试设置系统属性file.encoding,但要小心,因为这会影响整个JVM,而不仅仅是CSV阅读器功能。

  • 编写输出文件时,必须将其指定为“ISO-8859-1”。大多数文件编写类都有一个构造函数参数。

当然,ISO-8859-1只包含完整Unicode的一小部分。因此,如果输出文件包含奇怪的替换字符,或者如果输入具有来自例如的字符,则不会感到惊讶。希腊字母。