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)

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

学东西一定要深入

相关推荐
论文复现现场4 分钟前
RTX 4090 24GB 能跑 Qwen3.8-27B 吗?单卡显存计算与云端部署指南
人工智能·python·云计算·llama·gpu算力
Patrick在香港9 分钟前
模型路由器实测:12 个任务省 77%,旗舰过载时的降级要打出显式标记
python·llm·智能路由器·api·架构设计·成本优化
Looooking19 分钟前
Python 之 jwt 令牌生成和校验
python·jwt
渡我白衣1 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
天下无敌笨笨熊1 小时前
C#Modbus串口开发心得
开发语言·c#
电商API_180079052471 小时前
电商商品价格监控工具淘宝京东商品价格抓取API项目实操分享
java·大数据·开发语言·前端·数据挖掘
zzzll11111 小时前
深度剖析:HashMap 并发死循环与 ConcurrentHashMap 两代演进全解
java·开发语言
如意猴1 小时前
【C++】001--C++入门(1)
开发语言·c++
秋名RG1 小时前
2026/5/27 生产事故复盘与整改方案
java
传奇开心果编程1 小时前
【Rust入门知识点学与练】第10课:Option 和 Result(错误处理入门)
开发语言·学习·rust