CSV 文件生成工具
1、CSV 文件“csv是逗号分隔值文件格式可以用电脑自带的记事本或excel打开csv其文件以纯文本形式存储表格数据纯文本意味着该文件是一个字符序列不含必须像二进制数字那样被解读的数据。”nodepadexcel2、CSV 生成工具类CSVUtilspackagecom.lolo;importjava.io.*;importjava.nio.charset.StandardCharsets;importjava.util.List;publicclassCSVUtils{publicstaticFilecreateCSVFile(ListObjecthead,ListListObjectdataList,StringoutPutPath,StringfileName){FilecsvFilenull;BufferedWritercsvWriternull;try{csvFilenewFile(outPutPathFile.separatorfileName.csv);FileparentcsvFile.getParentFile();if(parent!null!parent.exists()){parent.mkdirs();}csvFile.createNewFile();csvWriternewBufferedWriter(newOutputStreamWriter(newFileOutputStream(csvFile),StandardCharsets.UTF_8),1024);//写入文件头部writeRow(head,csvWriter);//写入文件内容for(ListObjectrow:dataList){writeRow(row,csvWriter);}}catch(Exceptione){e.printStackTrace();}finally{try{csvWriter.close();}catch(IOExceptione){e.printStackTrace();}}returncsvFile;}privatestaticvoidwriteRow(ListObjectrow,BufferedWritercsvWriter)throwsIOException{for(Objectdata:row){// StringBuffer sb new StringBuffer();// String rowStr sb.append(\).append(data).append(\,).toString();StringrowStr\((datanull||.equals(data))?-:data)\t\,;csvWriter.write(rowStr);}csvWriter.newLine();}}Test.javapackagecom.lolo;importjava.io.File;importjava.util.ArrayList;importjava.util.List;publicclassTest{publicstaticvoidmain(String[]args){ListObjectexportDatanewArrayListObject();exportData.add(第一列);exportData.add(第二列);exportData.add(第三列);ListListObjectdatalistnewArrayListListObject();ListObjectdatanewArrayListObject();data.add(111);data.add(222);data.add(333);ListObjectdata1newArrayListObject();data1.add(444);data1.add(555);data1.add(\t2020-09-16 01:15:16\t);datalist.add(data);datalist.add(data1);Stringpathd:/data/exportCsv/;StringfileNameCSV 文件导出22222;FilefileCSVUtils.createCSVFile(exportData,datalist,path,fileName);StringfileName2file.getName();System.out.println(文件名称fileName2);}}