发布时间:2026-07-21阅读(1)
一、引入pom依赖<!-- CSV --><dependency> <groupId>net.sourceforge.javaCsv</groupId> <artifactId>javacsv</artifactId> <version>2.0</version></dependency>,下面我们就来聊聊关于java导入csv自动识别字符集?接下来我们就一起去了解一下吧!

java导入csv自动识别字符集
一、引入pom依赖
<!-- CSV --><dependency> <groupId>net.sourceforge.javaCsv</groupId> <artifactId>javacsv</artifactId> <version>2.0</version></dependency>
二、解析CSV文件
import com.csvreader.CsvReader;import org.springframework.web.multipart.MultipartFile;import java.io.FileNotFoundexception;import java.io.IOException;import java.io.InputStream;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.List;/** * cvs读取 */public class CsvReaderUtil1 { private static final String PARSE_ERROR = "csv analysis exception {}"; public static List<String[]> processFile(MultipartFile file, int dataIndex) throws IOException { // 创建CSV读对象 return processInputStream(file.getInputStream(), dataIndex); } public static List<String[]> processPath(String path, int dataIndex) throws FileNotFoundException { // 创建CSV读对象 CsvReader csvReader = new CsvReader(path, ,, Charset.forName("gbk")); return process(csvReader, dataIndex); } public static List<String[]> processInputStream(InputStream inputStream, int dataIndex) { // 创建CSV读对象 CsvReader csvReader = new CsvReader(inputStream, ,, Charset.forName("gbk")); return process(csvReader, dataIndex); } private static List<String[]> process(CsvReader csvReader, int dataIndex) { //总数据 List<String[]> dataList = new ArrayList<>(); try { while (csvReader.readRecord()) { if (csvReader.getCurrentRecord() >= dataIndex) { // 读取一行的单元格 String[] row = csvReader.getValues(); for (int i = 0; i < row.length; i ) { if (isEmpty(row[i])) { row[i] = ""; } else { row[i] = row[i].replaceAll(",", ",").replaceAll("\n", ""); } } dataList.add(row); } } csvReader.close(); return dataList; } catch (IOException e) { e.printStackTrace(); } return dataList; } public static boolean isEmpty(String str) { return str == null || str.trim().length() == 0; }}
二、生成CSV文件
import com.base.infrastructure.log.LoggerManager;import com.csvreader.CsvWriter;import java.io.IOException;import java.nio.charset.Charset;import java.util.List;public class CsvWriterUtil { public static void process(List<String[]> data, String filePath) { LoggerManager.info(CsvWriterUtil.class, "wirte csv start......filepath:{}", filePath); CsvWriter csvWriter = null; try { csvWriter = new CsvWriter(filePath, ,, Charset.forName("utf-8")); for (String[] values : data) { csvWriter.writeRecord(values); } } catch (IOException e) { e.printStackTrace(); } finally { if (csvWriter != null) { csvWriter.close(); } } }}
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图