package com.artfess.base.util; import org.springframework.web.multipart.MultipartFile; 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.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; /** * CSV操作(导出和导入) * * @author wjm * @version 1.0 Nov 24, 2015 4:30:58 PM */ public class CSVUtils { public static boolean exportCsv(File file, List dataList){ boolean isSucess=false; FileOutputStream out=null; OutputStreamWriter osw=null; BufferedWriter bw=null; try { // OutputStreamWriter in_=new OutputStreamWriter(new FileOutputStream("文件名"), "gbk"); out = new FileOutputStream(file); osw = new OutputStreamWriter(out, "gbk"); 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 importCsv(File file){ List dataList=new ArrayList(); 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; } /** * 读取传入MultipartFile类型的.csv文件数据 * @param file * @return */ public static List ReadCsv(MultipartFile file) { List allString = new ArrayList<>(); if (!file.isEmpty()){ InputStreamReader isr = null; BufferedReader br = null; try { isr = new InputStreamReader(file.getInputStream(),"UTF-8"); br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null){ allString.add(line); } } catch (IOException e) { // }finally { try { if (br != null){ br.close(); } if (isr != null){ isr.close(); } } catch (IOException e) { // } } }else { // } return allString; } }