CSV文件的导入和导出
导入导出CSV文件是一个较为常用的工具类,这里我就做下简单的总结,方便以后使用
废话不多说直接上代码
CSV主要工具类
package com.example.csv;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;/*** CSV操作(导出和导入)** @author 韩哲*/
public class CSVUtils {/*** 导出* * @param file* csv文件(路径+文件名),csv文件不存在会自动创建* @param dataList* 数据* @return*/public static boolean exportCsv(File file, List<String> dataList) {boolean isSucess = false;FileOutputStream out = null;OutputStreamWriter osw = null;BufferedWriter bw = null;try {out = new FileOutputStream(file);osw = new OutputStreamWriter(out);bw = new BufferedWriter(osw);if (dataList != null && !dataList.isEmpty()) {for (String data : dataList) {bw.append(data).append("\r");}}isSucess = true;} catch (Exception e) {isSucess = false;} finally {if (bw != null) {try {bw.close();bw = null;} catch (IOException e) {e.printStackTrace();}}if (osw != null) {try {osw.close();osw = null;} catch (IOException e) {e.printStackTrace();}}if (out != null) {try {out.close();out = null;} catch (IOException e) {e.printStackTrace();}}}return isSucess;}/*** 导入* * @param file* csv文件(路径+文件)* @return*/public static List<String> importCsv(File file) {List<String> dataList = new ArrayList<String>();BufferedReader br = null;try {br = new BufferedReader(new FileReader(file));String line = "";while ((line = br.readLine()) != null) {dataList.add(line);}} catch (Exception e) {} finally {if (br != null) {try {br.close();br = null;} catch (IOException e) {e.printStackTrace();}}}return dataList;}
}
Activity中的调用
/*** CSV导出*/public void exportCsv(List<Person> l) {String path = Environment.getExternalStorageDirectory().getPath();List<String> dataList = new ArrayList<String>();dataList.add("No,Name,Sex");for (int i = 0; i < l.size(); i++) {String msg = list.get(i).getSex() + "," + list.get(i).getName() + "," + list.get(i).getAge();dataList.add(msg);}dataList.add("1,张三,爷们");dataList.add("2,李四,爷们");dataList.add("3,王二麻子,爷们");boolean isSuccess = CSVUtils.exportCsv(new File(path + "/" + "yourfile.csv"), dataList);System.out.println(isSuccess);}/*** CSV导入* * @throws Exception*/public void importCsv() {List<String> dataList = CSVUtils.importCsv(new File("D:/test/ljq.csv"));if (dataList != null && !dataList.isEmpty()) {for (String data : dataList) {System.out.println(data);}}}
以上就是CSV文件的导入和导出了,比较简单的工具类,直接Copy到自己的工程即可,我就不附上Demo了
/********************************************END*******************************************/
CSV文件的导入和导出相关推荐
- cvsHelper--C#关于CSV文件的导入和导出以及转化
class CVShelper{/// <summary>/// 导出报表为Csv/// </summary>/// <param name="dt" ...
- python读取大文件csv_对python中大文件的导入与导出方法详解
1.csv文件的导入和导出 通过一个矩阵导出为csv文件,将csv文件导入为矩阵 将csv文件导入到一个矩阵中 import numpy my_matrix = numpy.loadtxt(open( ...
- python中文件的导入与导出
[Python学习]:文件导入与导出 python中文件的导入与导出 文件导入 import pandas as pd df = pd.read_csv('text.txt',sep='\t',enc ...
- 从csv文件中导入数据到MySQL数据库
从csv文件中导入数据到MySQL数据库 转: 一.Workbench客户端导入(8.0.11基本导不全且速度奇慢) 1.点击如下图标创建数据库(非必要) 2.在表类上右键导入 二.SQL语句导入(可 ...
- JAVA通过Hutool解析CSV文件【导入即用,无需封装】
JAVA通过Hutool解析CSV文件 Java解析CSV方式有很多种方式[javaCSV(未更新),openCSV(apache)],这篇文章主要是用到Hutool工具类,能快速的解析读取,不需 ...
- 使用PHPExcel实现Excel文件的导入和导出(模板导出)
在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是: 1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽 ...
- 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)
前言:在实际的开发中,我们经常需要用户在界面中输入大量重复且有规律的数据,但是一个表单一个表单的填写效率过慢,而且过多的表单也会给JavaWeb的业务逻辑开发带来不小的困扰,所以我们可以使用一个Exc ...
- csv文件转换为shapefile并导出
一.前提 1.生成shapefile前需要知道CSV文件是属于点(Point).线(Line).面(Polygon).还是多面(MultiPolygon):因为shp文件是有这些属性的,这篇文章中用的 ...
- Delphi中对Excel表格文件的导入和导出操作。
首先,Delphi要在Uses部分,把要使用的外部程序的类写入.在这里,我们把"ExtCtrls,ComObj"写入Uses部分. 将Listview列表中的数据导入到Excel文 ...
最新文章
- 年度重磅:《AI聚变:2018年优秀AI应用案例TOP 20》正式发布
- MPLS 解决方案有哪些优势?——Vecloud
- centos7下载地址
- CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 树启 + 状压
- web前后端 http转https
- PAT乙类1010之1010 一元多项式求导
- java 多个监听_​Java中使用for循环对多个Jbutton按钮监听
- UNDO 表空间管理
- python idle连接失败_不能通过IDLE从Explorer运行Python [2013] - IDLE的子进程没有连接...
- Tomcat爆出严重漏洞,影响所有版本,波及约8万台服务器,附解决方案!(扩散!!!)...
- 基于adaboost算法的人脸检测_基于噪声检测的图像去噪算法
- Mac分区失败导致出现隐藏分区的解决办法
- 软件工程领域国际会议列表
- MathType数学公式编辑器,编辑数学资料工具
- 这样的跳槽理由HR不排斥,赶紧记好!
- 多文件自平衡云传输 (六)番外篇 —————— 开开开山怪
- 一个程序员应该怎样去学习和掌握计算机英语
- 龙卷风java_程序设计-理解java继承-遁地龙卷风
- 2020个人成长计划
- 从懵懂走向成熟,证明属于自己的征程
热门文章
- C#毕业设计——基于C#+asp.net+sqlserver的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统
- 用 Python 和 Numpy 实现音频数字指纹特征识别
- C语言:浮点型的基本知识
- vector的 resize()和reserve()的区别
- 应用在电磁炉触控面板中的电容式触摸芯片
- Windows 安装ffmpeg并从视频中提取音频
- 自定义resttemplate的ErrorHandler
- PyTorch:DistributedDataParallel(DDP)学习
- 中国建筑装饰装修——刘昊威设计作品:切尔西·扬画廊
- linux发出声音的命令,在Linux中发出哔哔声C