Java解析csv文件
2020-12-16
解析过程中碰到的问题
解析主要是用流来读取文件的内容
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "GBK")); String line = null; reader.readLine();//循环中不读取第一行 while ((line = reader.readLine()) != null) {}
1.文件的转型问题
从前台发过来的文件类型为 MultipartFile file 解析过程中是 java.io

2.解析过程中中文乱码问题
DataInputStream in = new DataInputStream(new FileInputStream(file)); BufferedReader reader = new BufferedReader(new InputStreamReader(in, "GBK"));
3.解析过程中数据量太大需要将list拆分否则会报异常
![]()
拆分代码

4.因为csv文件格式是以逗号进行分隔的,所以解析过程中会用到spilt
String[] row = line.split(",", -1);
spilt 的第二个参数一定要给否则会因为空白格太多而导致读取不到文件的末尾
5.ORACLE foreach的问题
select item.* from (<foreach collection="list" item="item" index="index" separator="union all"> select * from dual </foreach> ) item
MYSQL foreach的写法
<foreach collection="list" item="item" index="index" separator=","> * </foreach>
6.文件上传大小限制
servlet:2020-12-16 multipart: max-file-size: 10MB max-request-size: 100MB enabled: true

浙公网安备 33010602011771号