csv(comma separated values )操作
2016-04-14 14:15
411 查看
CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。在 CSV文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。如:
==============================================
1.如果你入到csv文件打开是乱码情况.请事先用记事本打开,然后用ANSI编码保存.再次打开即可,也可以自己设置编码集
2.如果你的内容被excel打开时 自动转换为科学计算法 显示.可以在每行代码后面加上一个"/t"
===============================================
1、CSV导入/导出封装类
2、CSV导入/导出测试
1,张三,男 2,李四,男 3,小红,女
==============================================
1.如果你入到csv文件打开是乱码情况.请事先用记事本打开,然后用ANSI编码保存.再次打开即可,也可以自己设置编码集
2.如果你的内容被excel打开时 自动转换为科学计算法 显示.可以在每行代码后面加上一个"/t"
===============================================
1、CSV导入/导出封装类
package com.parami.utils; 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操作(导出和导入) * * @version 1.0 Jan 27, 2014 4:30:58 PM */ 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; } }
2、CSV导入/导出测试
package junit.test; import java.io.File; import java.util.ArrayList; import java.util.List; import org.junit.Test; import com.parami.utils.CSVUtils; /** * CSV操作(导出和导入) * * @version 1.0 Jan 27, 2014 4:17:02 PM */ public class CsvTest { /** * CSV导出 * * @throws Exception */ @Test public void exportCsv() { List<String> dataList=new ArrayList<String>(); dataList.add("1,张三,男"); dataList.add("2,李四,男"); dataList.add("3,小红,女"); boolean isSuccess=CSVUtils.exportCsv(new File("D:/test/ljq.csv"), dataList); System.out.println(isSuccess); } /** * CSV导出 * * @throws Exception */ @Test 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); } } } }
相关文章推荐
- webapi返回泛型给easyui
- IOS-UI学习笔记(超级猜图)
- Android中关于Volley的使用(十)对Request和Reponse的认识
- Android中关于Volley的使用(五)从RequestQueue开始来深入认识Volley
- Pywinauto Guideline
- iOS 对UITextView以及UITextField的字数限制.
- UISearchController使用中的几个坑和一个知识点
- 2016.04.14,英语,《Vocabulary Builder》Unit 14
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
- Packet for query is too large(mysql写入数据过大)
- Light OJ 1277 Looking for a Subsequence
- 修改UISegmentrol各种属性
- Android之线程回掉更新ui
- winbuilder安装及使用
- android studio多渠道打包,且根据buildConfig属性判断为哪个渠道升级或者实现不同业务逻辑
- IOS UIImage类方法总结
- Android中的UI细节
- 性能更好的js动画实现方式---requestAnimationFrame
- Windows Azure 系列-- Azure Queue的操作
- 利用UITableView实现个人信息界面