Java处理csv文件总是丢数据

java处理csv文件总是丢数据,写个极端例子验证下:

colValue=",,,,,,,,,";

String\[\] values = colValue.split(",");

values.length的值居然是0!

因为 Java 的 split(",") 有一个默认规则:会自动丢弃数组末尾的所有空字符串!

String\[\] values = colValue.split(",", -1); 这样就不出问题了。

看定义:

String\[\] split(String regex, int limit)

limit 三种取值规则

1. limit > 0

  • 最多分割成 limit 个元素
  • 不删除末尾空字符串
  • 分割到数量够了就停止

2. limit = 0(默认值,就是不带参数时)

  • 无限分割
  • 删除末尾所有空字符串

3. limit < 0(最常用:-1)

  • 无限分割
  • 保留所有空字符串(包括开头、中间、结尾)
  • 最真实、最完整的分割结果

学东西一定要深入

相关推荐
Thneonl12 小时前
Celery 生产踩坑:1000 任务积压与 acks_late 双重执行
后端·python
清桔12 小时前
模型的调用
python
IT枫斗者枫哥12 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
代码方舟12 小时前
Java数据工程:利用天远全网运营商三要素优化线上实名认证合规体验
java·人工智能
小小张说故事12 小时前
Python 多线程为什么跑不快?asyncio 入门指南:异步并发从零上手
后端·python
BBmmo12 小时前
我的 Java 学习笔记 · 第 7 篇:泛型与通配符
java
独泪了无痕12 小时前
Hutool之RandomUtil:随机数生成的终极利器
java·后端
10年前端老司机12 小时前
干货分享|企业智能知识库 Rerank 重排序落地实践与踩坑总结
python·aigc·agent
花开路口12 小时前
深入理解 Java/Kotlin 协变与逆变
java·kotlin
运行时异常12 小时前
【WMS 仓储系统集成 AI Agent 实战】第 7 讲:Vue3 前端工程化——Token 刷新锁、Markdown 渲染踩坑与权限体系
java