导入导出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文件的导入和导出相关推荐

  1. cvsHelper--C#关于CSV文件的导入和导出以及转化

    class CVShelper{/// <summary>/// 导出报表为Csv/// </summary>/// <param name="dt" ...

  2. python读取大文件csv_对python中大文件的导入与导出方法详解

    1.csv文件的导入和导出 通过一个矩阵导出为csv文件,将csv文件导入为矩阵 将csv文件导入到一个矩阵中 import numpy my_matrix = numpy.loadtxt(open( ...

  3. python中文件的导入与导出

    [Python学习]:文件导入与导出 python中文件的导入与导出 文件导入 import pandas as pd df = pd.read_csv('text.txt',sep='\t',enc ...

  4. 从csv文件中导入数据到MySQL数据库

    从csv文件中导入数据到MySQL数据库 转: 一.Workbench客户端导入(8.0.11基本导不全且速度奇慢) 1.点击如下图标创建数据库(非必要) 2.在表类上右键导入 二.SQL语句导入(可 ...

  5. JAVA通过Hutool解析CSV文件【导入即用,无需封装】

    JAVA通过Hutool解析CSV文件 ​ Java解析CSV方式有很多种方式[javaCSV(未更新),openCSV(apache)],这篇文章主要是用到Hutool工具类,能快速的解析读取,不需 ...

  6. 使用PHPExcel实现Excel文件的导入和导出(模板导出)

    在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是: 1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽 ...

  7. 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)

    前言:在实际的开发中,我们经常需要用户在界面中输入大量重复且有规律的数据,但是一个表单一个表单的填写效率过慢,而且过多的表单也会给JavaWeb的业务逻辑开发带来不小的困扰,所以我们可以使用一个Exc ...

  8. csv文件转换为shapefile并导出

    一.前提 1.生成shapefile前需要知道CSV文件是属于点(Point).线(Line).面(Polygon).还是多面(MultiPolygon):因为shp文件是有这些属性的,这篇文章中用的 ...

  9. Delphi中对Excel表格文件的导入和导出操作。

    首先,Delphi要在Uses部分,把要使用的外部程序的类写入.在这里,我们把"ExtCtrls,ComObj"写入Uses部分. 将Listview列表中的数据导入到Excel文 ...

最新文章

  1. 年度重磅:《AI聚变:2018年优秀AI应用案例TOP 20》正式发布
  2. MPLS 解决方案有哪些优势?——Vecloud
  3. centos7下载地址
  4. CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 树启 + 状压
  5. web前后端 http转https
  6. PAT乙类1010之1010 一元多项式求导
  7. java 多个监听_​Java中使用for循环对多个Jbutton按钮监听
  8. UNDO 表空间管理
  9. python idle连接失败_不能通过IDLE从Explorer运行Python [2013] - IDLE的子进程没有连接...
  10. Tomcat爆出严重漏洞,影响所有版本,波及约8万台服务器,附解决方案!(扩散!!!)...
  11. 基于adaboost算法的人脸检测_基于噪声检测的图像去噪算法
  12. Mac分区失败导致出现隐藏分区的解决办法
  13. 软件工程领域国际会议列表
  14. MathType数学公式编辑器,编辑数学资料工具
  15. 这样的跳槽理由HR不排斥,赶紧记好!
  16. 多文件自平衡云传输 (六)番外篇 —————— 开开开山怪
  17. 一个程序员应该怎样去学习和掌握计算机英语
  18. 龙卷风java_程序设计-理解java继承-遁地龙卷风
  19. 2020个人成长计划
  20. 从懵懂走向成熟,证明属于自己的征程

热门文章

  1. C#毕业设计——基于C#+asp.net+sqlserver的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统
  2. 用 Python 和 Numpy 实现音频数字指纹特征识别
  3. C语言:浮点型的基本知识
  4. vector的 resize()和reserve()的区别
  5. 应用在电磁炉触控面板中的电容式触摸芯片
  6. Windows 安装ffmpeg并从视频中提取音频
  7. 自定义resttemplate的ErrorHandler
  8. PyTorch:DistributedDataParallel(DDP)学习
  9. 中国建筑装饰装修——刘昊威设计作品:切尔西·扬画廊
  10. linux发出声音的命令,在Linux中发出哔哔声C