java 使用 CSVReaderBuilder 解析 csv 中文乱码
时间: 2023-09-12 18:07:35 浏览: 214
如果你使用的是 OpenCSV 库中的 CSVReaderBuilder 类来解析 CSV 文件,可以通过设置字符集来解决中文乱码的问题。
例如,如果 CSV 文件的字符集为 UTF-8,可以通过以下方式设置:
```java
CSVReaderBuilder builder = new CSVReaderBuilder(new InputStreamReader(new FileInputStream(filePath), "UTF-8"));
```
其中,`filePath` 是 CSV 文件的路径。
如果 CSV 文件的字符集为其他编码,需要将 `"UTF-8"` 替换为相应的字符集名称。
另外,如果 CSV 文件中包含 BOM(Byte Order Mark)头,需要使用带 BOM 的字符流来读取,例如:
```java
CSVReaderBuilder builder = new CSVReaderBuilder(new InputStreamReader(new FileInputStream(filePath), StandardCharsets.UTF_8));
builder.withCSVParser(new CSVParserBuilder().withSeparator(',').withIgnoreQuotations(false).build());
builder.withSkipLines(1);
builder.withVerifyReader(true);
builder.withKeepCarriageReturn(false);
builder.withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_QUOTES);
CSVReader csvReader = builder.build();
```
其中,`StandardCharsets.UTF_8` 包含了 BOM 头,可以正确读取包含 BOM 头的 CSV 文件。
阅读全文