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)

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

学东西一定要深入

相关推荐
qq_283720051 小时前
高并发场景下 Python+MySQL 性能优化最佳实践
python·mysql·性能优化
Rust语言中文社区1 小时前
【Rust日报】2026-04-28 Pacquet:pnpm 的 Rust 重写版本
开发语言·后端·rust
m0_748554811 小时前
SQL注入的安全架构设计_将数据库置于内网隔离区
jvm·数据库·python
云烟成雨TD1 小时前
Spring AI 1.x 系列【30】向量数据库:核心 API 和入门案例
java·人工智能·spring
modelmd1 小时前
研究C语言的hello world输出
c语言·开发语言·chrome
Flittly1 小时前
【LangGraph新手村系列】(2)自定义状态与归约器:让 LangGraph 记住更多东西
python·langchain·aigc
好运的阿财1 小时前
OpenClaw工具拆解之apply_patch+sandboxed_read
人工智能·python·ai编程·openclaw·openclaw工具
小小19921 小时前
vue 单页面请求
开发语言·前端·javascript
hhb_6181 小时前
JavaScript 本地存储与动态数据渲染实战案例
开发语言·javascript·ecmascript