java 打开scv 文件_JAVA读写CSV文件
最近工作需要,需要读写CSV文件的数据,简单封装了一下
依赖
读写CSV文件只需引用javacsv这个依赖就可以了
net.sourceforge.javacsv
javacsv
2.0
读文件
/**
* Read from CSV
*
* @param separator 分隔符
* @param filePath 文件路径
* @return
* */
public static List readFromCSV(Character separator, String filePath) {
CsvReader reader = null;
List result = new ArrayList<>();
try {
//如果生产文件乱码,windows下用gbk,linux用UTF-8
reader = new CsvReader(filePath, separator, Charset.forName("GBK"));
// 读取标题
reader.readHeaders();
// 逐条读取记录,直至读完
while (reader.readRecord()) {
//读取第一例
reader.get(0);
//读取指定名字的列
reader.get("");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != reader) {
reader.close();
}
}
return result;
}
因为甜大王比较喜欢将读取的一列封装为一个Object,同时为了工具更通用返回的结果类型是一个List
写文件
/**
* Write into CSV
*
* @param separator 分隔符
* @param filePath 文件路径
* @param strList 对应CSV中的一行记录
* */
public static void writeIntoCSV(Character separator, String filePath, List> strList) {
CsvWriter csvWriter = null;
try {
// 创建CSV写对象
csvWriter = new CsvWriter(filePath, separator, Charset.forName("GBK"));
// 写标题
//String[] headers = {"FileName","FileSize","FileMD5"};
//csvWriter.writeRecord(headers);
for (List list : strList) {
String[] writeLine = new String[list.size()];
list.toArray(writeLine);
csvWriter.writeRecord(writeLine);
}
csvWriter.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != csvWriter) {
csvWriter.close();
}
}
}
完整代码
public class CSVTool {
/**
* Read from CSV
*
* @param separator 分隔符
* @param filePath 文件路径
* @return
* */
public static List readFromCSV(Character separator, String filePath) {
CsvReader reader = null;
List result = new ArrayList<>();
try {
//如果生产文件乱码,windows下用gbk,linux用UTF-8
reader = new CsvReader(filePath, separator, Charset.forName("GBK"));
// 读取标题
reader.readHeaders();
// 逐条读取记录,直至读完
while (reader.readRecord()) {
//读取第一例
reader.get(0);
//读取指定名字的列
reader.get("");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != reader) {
reader.close();
}
}
return result;
}
/**
* Write into CSV
*
* @param separator 分隔符
* @param filePath 文件路径
* @param strList 对应CSV中的一行记录
* */
public static void writeIntoCSV(Character separator, String filePath, List> strList) {
CsvWriter csvWriter = null;
try {
// 创建CSV写对象
csvWriter = new CsvWriter(filePath, separator, Charset.forName("GBK"));
// 写标题
//String[] headers = {"FileName","FileSize","FileMD5"};
//csvWriter.writeRecord(headers);
for (List list : strList) {
String[] writeLine = new String[list.size()];
list.toArray(writeLine);
csvWriter.writeRecord(writeLine);
}
csvWriter.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != csvWriter) {
csvWriter.close();
}
}
}
}
附:[完整代码]()
java 打开scv 文件_JAVA读写CSV文件相关推荐
- python本地读csv文件_python读写csv文件方法详细总结
python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来. 在编写python程序的时候需要csv模块或者pandas模块,其中csv ...
- python怎么读取csv文件-python读写csv文件方法详细总结
python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来. 在编写python程序的时候需要csv模块或者pandas模块,其中csv ...
- python pandas csv 写文件_Pandas读写CSV文件的方法介绍(附代码)
本篇文章给大家带来的内容是关于Pandas读写CSV文件的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 读csv:使用pandas读取import pandas ...
- JAVA编程TXT文件_java读写txt文件的方法
java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...
- java 生成csv文件_Java生成CSV文件实例详解
本文实例主要讲述了java生成csv文件的方法,具体实现步骤如下: 1.新建csvutils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
- python导入csv文件-python读写csv文件
今天闲来无事,写了会CSV,简单总结下csv具体操作 什么是csv 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本 ...
- python为什么找不到csv文件_python读写csv文件的方法(还没试,先记录一下)
该csv模块定义了以下功能: csv.reader(csvfile,dialect ='excel',** fmtparams) 返回一个reader对象,它将迭代给定csvfile中的行. csvf ...
- python readcsv读取gbk编码文件_python读写csv文件
今天闲来无事,写了会CSV,简单总结下csv具体操作 什么是csv 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本 ...
- java dbf文件_Java读写dbf文件
展开全部 Java读取DBF文件,需要加载开源jar包JavaDBF.jar,然后使用62616964757a686964616fe4b893e5b19e31333337613133里面的方法进行读写 ...
- java 写入xml文件_java读写xml文件
要读的xml文件 李华姓名> 14年龄> 学生> 张三姓名> 16年龄> 学生> 学生花名册> package xml; import java.io.Fil ...
最新文章
- 帮AI体检看病一条龙服务,阿里发布“AI安全诊断大师”
- vivado VIO (virtual input output)虚拟IO的使用
- mysql 返回最大值列名_多列求最大值列和列名
- Spring Cloud【Finchley】-04使用Ribbon实现客户端负载均衡
- 又一位纯手工打造CPU的牛人,并且汇编语言实现类Unix系统,支持文件系统
- 2 image pil 转_pdf转图片,php语言和Java语言的两种方法
- 为学好计算机 要采取什么措施,计算机概念教学的内容及对策
- Bootstrap3 排版-地址
- 构造函数和构造代码块
- python中functools_Python中functools模块的常用函数解析
- ORA-01033 ORACLE initialization or shutdow in progress
- 最好用的微信编辑器(图文排版工具) -构思微信编辑器
- 爬虫福利二之妹子图网批量下载MM
- pdf打开错误之读取本文档时出现问题(14)
- 区块链上的中国?2018见分晓
- writeup wyu-ctf
- ios 计算代码耗时
- Word控件Spire.Doc 【Table】教程(15):如何在 C# 中对齐表格
- 如果同步块内的线程抛出异常会发生什么?
- android无线充电器推荐,和安卓通用的无线充电器门派推荐
热门文章
- ae运动模糊插件安装教程_AEPR运动模糊插件(RSMB) REVisionFX ReelSmart Motion Blur Pro v4.2.3...
- C# .NET 爬虫抓取京东商城所有商品分类
- 【节能学院】油烟浓度在线监测仪在浙江省某市餐饮油烟监测治理项目中的应用
- winform调用大华相机
- Jmeter基础篇(01):如何进行post接口压力测试
- android 圆形自定义进度条,Android自定义漂亮的圆形进度条
- 素数快速求法 -- 筛法求素数
- Sketch 67.2 简体中文版 最佳Mac产品原型设计工具
- html在线预览wordexcel文档,直接在线预览Word、Excel、TXT文件之ASP.NET
- Python爬虫案例:下载酷某音乐文件