1 import java.io.BufferedReader;
  2 import java.io.BufferedWriter;
  3 import java.io.File;
  4 import java.io.FileOutputStream;
  5 import java.io.FileReader;
  6 import java.io.IOException;
  7 import java.io.OutputStreamWriter;
  8 import java.util.ArrayList;
  9 import java.util.List;
 10 
 11 /**
 12  * CSV操作(导出和导入)
 13  * 
 14  */
 15 public class CSVUtil {
 16 
 17     /**
 18      * 导出
 19      * 
 20      * @param file
 21      *            csv文件(路径+文件名),csv文件不存在会自动创建
 22      * @param dataList
 23      *            数据
 24      * @return
 25      */
 26     public static String exportCsv(File file, List<String> dataList) {
 27 
 28         boolean isSucess = false;
 29 
 30         if (!file.getParentFile().exists()) {
 31             file.getParentFile().mkdirs();
 32         }
 33         if (!file.exists()) {
 34             try {
 35                 file.createNewFile();
 36             } catch (IOException e) {
 37                 throw new RuntimeException(e);
 38             }
 39         }
 40 
 41         FileOutputStream out = null;
 42         OutputStreamWriter osw = null;
 43         BufferedWriter bw = null;
 44         try {
 45             out = new FileOutputStream(file);
 46             osw = new OutputStreamWriter(out, "UTF-8");
 47             bw = new BufferedWriter(osw);
 48             if (dataList != null && !dataList.isEmpty()) {
 49                 for (String data : dataList) {
 50                     bw.append(data).append("\r");
 51                 }
 52             }
 53             isSucess = true;
 54         } catch (Exception e) {
 55             e.printStackTrace();
 56             isSucess = false;
 57         } finally {
 58             if (bw != null) {
 59                 try {
 60                     bw.close();
 61                     bw = null;
 62                 } catch (IOException e) {
 63                     e.printStackTrace();
 64                 }
 65             }
 66             if (osw != null) {
 67                 try {
 68                     osw.close();
 69                     osw = null;
 70                 } catch (IOException e) {
 71                     e.printStackTrace();
 72                 }
 73             }
 74             if (out != null) {
 75                 try {
 76                     out.close();
 77                     out = null;
 78                 } catch (IOException e) {
 79                     e.printStackTrace();
 80                 }
 81             }
 82         }
 83 
 84         return file.getAbsolutePath();
 85     }
 86 
 87     /**
 88      * 导入
 89      * 
 90      * @param file
 91      *            csv文件(路径+文件)
 92      * @return
 93      */
 94     public static List<String> importCsv(File file) {
 95         List<String> dataList = new ArrayList<String>();
 96 
 97         BufferedReader br = null;
 98         try {
 99             br = new BufferedReader(new FileReader(file));
100             String line = "";
101             while ((line = br.readLine()) != null) {
102                 dataList.add(line);
103             }
104         } catch (Exception e) {
105         } finally {
106             if (br != null) {
107                 try {
108                     br.close();
109                     br = null;
110                 } catch (IOException e) {
111                     e.printStackTrace();
112                 }
113             }
114         }
115         return dataList;
116     }
117 
118     public static void main(String[] args) {
119         // File file = new File("D:/s.csv");
120         // CSVUtil.importCsv(file);
121 
122         File file = new File("D:/222.csv");
123         List<String> dataList = new ArrayList<String>();
124         dataList.add("1");
125         dataList.add("2");
126         dataList.add("3");
127         dataList.add("4");
128         dataList.add("5");
129 
130         CSVUtil.exportCsv(file, dataList);
131 
132     }
133 
134 }