使用java怎么导出csv格式的文件

  介绍

这篇文章将为大家详细讲解有关使用java怎么导出csv格式的文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

导出csv格式文件的本质是导出以逗号为分隔的文本数据

import  java.io.BufferedWriter;,   import  java.io.File,   import  java.io.FileInputStream,   import  java.io.FileNotFoundException,   import  java.io.FileOutputStream,   import  java.io.IOException,   import  java.io.InputStream,   import  java.io.OutputStream,   import  java.io.OutputStreamWriter,   import  java.net.URLEncoder,   import  java.util.ArrayList,   import  java.util.Iterator,   import  java.util.LinkedHashMap,   import 并不知道,   import  java.util.Map,      import  javax.servlet.http.HttpServletResponse,      import  com.alibaba.druid.util.StringUtils;   ,      ,/* *,   ,*文件操作,   ,*/{public  class  CSVUtils    ,   ,/* *   ,*功能说明:获取utf - 8编码文本文件开头的BOM签名。   ,* BOM (Byte  Order 马克),是UTF编码方案里用于标识编码的标准标记。例:接收者收到以EF  BB 男朋友开头的字节流,就知道是UTF - 8编码。   ,* @return  utf - 8编码文本文件开头的BOM签名   ,*/,public  static  String  getBOM (), {      ,,byte  b [],=, {0 xef(字节),0 xbb(字节),(字节)0 xbf};   ,,return  new 字符串(b);   ,}   ,/* *大敌;   ,*生成CVS文件   ,* @param  exportData    ,*,源数据List    ,* @param  map    ,*,csv文件的列表头map    ,* @param  outPutPath    ,*,文件路径,   ,* @param  fileName    ,*,文件名称,   ,* @return    ,*/,@SuppressWarnings (“rawtypes"),   ,public  static  File  createCSVFile (List  exportData, LinkedHashMap 地图,String  outPutPath,,   ,,,,String 文件名),{,   ,File  csvFile =,零,,   ,BufferedWriter  csvFileOutputStream =,零,,   try {大敌;   File 才能;File =, new 文件(outPutPath);,   if 才能;(! file.exists ()), {,   file.mkdirs才能(),,   ,,},//才能定义文件名格式并创建,   csvFile 才能;=new 文件(outPutPath +文件名+“.csv");   file.createNewFile才能(),,//才能,utf - 8使正确读取分隔符“,“,//才能如果生产文件乱码,windows下用gbk, linux用utf - 8   时间=csvFileOutputStream 才能;new  BufferedWriter (new  OutputStreamWriter (new  FileOutputStream (,   csvFile),才能“UTF-8"), 1024);,   ,,//写才能入前段字节流,防止乱码   csvFileOutputStream.write才能(getBOM ());//才能,写入文件头部   for 才能;(Iterator  propertyIterator =, map.entrySet () .iterator ();, propertyIterator.hasNext ();), {,   java.util.Map.Entry 才能;propertyEntry =, (java.util.Map.Entry), propertyIterator.next (),,   csvFileOutputStream.write才能((字符串),propertyEntry.getValue (), !=, null  ?,(字符串),propertyEntry.getValue (),,,,,,),,   if 才能;(propertyIterator.hasNext ()), {,   ,,csvFileOutputStream.write (“”),,   ,,},   ,,},   csvFileOutputStream.newLine才能(),,//才能,写入文件内容,   for 才能;(Iterator  Iterator =, exportData.iterator ();, iterator.hasNext ();), {,   ,,Object  row =,(对象),iterator.next ();   for 才能;(Iterator  propertyIterator =, map.entrySet () .iterator ();, propertyIterator    ,,.hasNext ();), {,   ,,java.util.Map.Entry  propertyEntry =, (java.util.Map.Entry), propertyIterator    ,,. next (),,   ,,String  str=行!=null ?((字符串)((Map)行). get (, propertyEntry.getKey ())):““;      ,,如果(StringUtils.isEmpty (str)) {   ,,,str=?”;   其他,,}{   ,,,str=str.replaceAll (“\““,“\”, \““);   ,,,如果(str.indexOf(“”)在=0){   ,,,,str=癨”;“+ str +“\”;“   ,,,}   ,,}   ,,csvFileOutputStream.write (str);,   ,,if  (propertyIterator.hasNext ()), {,   ,,csvFileOutputStream.write (“”),,   ,,},   ,,},   if 才能;(iterator.hasNext ()), {,   ,,csvFileOutputStream.newLine (),,   ,,},   ,,},   csvFileOutputStream.flush才能(),,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用java怎么导出csv格式的文件