最近针对一个Issue,需要给excel文件的读写功能增加CSV的支持,本来以为使用类似的方法可以直接写到DTO里面,结果一查,Java好像对CSV的支持还是最原始最基本的写法(并非贬义,可能是容易了反而不需要什么工具来读写CSV)。
总结成一句话就是,读写CSV就相当于读写一个纯字符串文件。
读取CSV
读取CSV文件大致分为以下几步:
- 使用
FileInputStream
读取csv文件 - 使用
BufferedReader
来对输入流进行更高效的处理 - 将每一行的数据作为字符串读取,使用
split(",")
分割
1 | // 字符编码 设置下没坏处 |
写CSV
跟上面读取CSV的操作正好反过来,写CSV文件分为以下几步:
- 使用
FileOutputStream
输出文件 - 将要输出的一行数据使用指定的符号(csv一般是逗号)连接成字符串
- 输出到文件,使用
BufferedWriter.write()
的话记得换行
1 | // 文件路径和文件名 |