gpt4 book ai didi

java - 如何将 CSV 文件中的日语字段读取到 java beans 中?

转载 作者:行者123 更新时间:2023-12-01 19:12:18 27 4
gpt4 key购买 nike

我尝试了几种流行的 CSV 到 java 反序列化器 - OpenCSV、JSefa 和 Smooks - 没有一个正确读取文件:

First Name,Last Name
エリック,山中
花子,鈴木
一郎,鈴木
裕子,田中
政治,山村

进入我的java对象集合。

OpenCsv 代码:

    HeaderColumnNameTranslateMappingStrategy<Contact> strat = new HeaderColumnNameTranslateMappingStrategy<Contact>();
strat.setType(Contact.class);
strat.setColumnMapping(colNameTranslateMap);
InputStreamReader fileReader=null;
CsvToBean<Contact> csv = new CsvToBean<Contact>();
fileReader = new InputStreamReader(new FileInputStream(file), "UTF-8");

contacts = csv.parse(strat, new CSVReader(fileReader));

当我创建 FileInputStream 时,我尝试将字符集设置为 UTF-8、UTF-16 和 ISO-8859-1,但该集合从未正确填充。从调试器和 System.out 中可以看出,这些字段包含垃圾,并且记录数通常是错误的。

最佳答案

  1. FileInputStream用于读取二进制数据流,例如 mp3 或 PNG。使用FileReader代替FIS用于读取字符流。
  2. 坦率地说:如果它们不起作用,谁会在乎你尝试使用的是什么字符集?您需要弄清楚 CSV 文件实际使用的编码,并在读取文件时设置编码。使用 FileReader 时指定编码:

The constructors of this class assume that the default character encoding and the default byte-buffer size are appropriate. To specify these values yourself, construct an InputStreamReader on a FileInputStream.

关于java - 如何将 CSV 文件中的日语字段读取到 java beans 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003333/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com