CVS导出工具【附DEMO】
程序员文章站
2022-04-03 19:15:00
...
最近开发一个接口日志,采用CVS方式,对于数据文件采用CVS相比EXCEL能容纳更多数据行,CVS也是方便直接导入导出数据库,CVS数据文件是可以在EXCEL查看,与逗号分割的数据文件,可以直接在记事本打开,更加轻巧。
DEMO代码
import java.io.File; import java.io.FileWriter; import java.io.Writer; import java.util.List; import com.opencsv.CSVWriter; public class CsvUtils { public static void wirteToCsv(File file,List<String[]> list,boolean append) throws Exception { CSVWriter csvWriter = createCSVWriter(file, append); csvWriter.writeAll(list); csvWriter.close(); } public static void wirteToCsv(File file,String[] line,boolean append) throws Exception { CSVWriter csvWriter = createCSVWriter(file, append); csvWriter.writeNext(line); csvWriter.close(); } public static void wirteToCsv(String path,String fileName,List<String[]> list,boolean append,boolean createNew) throws Exception { File file = createFile(path + File.separator + fileName,createNew); wirteToCsv(file,list,append); } public static void wirteToCsv(String path,String fileName,String[] line,boolean append,boolean createNew) throws Exception { File pathFile = new File(path); if (!pathFile.exists()) { pathFile.mkdirs(); } File file = createFile(path + File.separator + fileName,createNew); wirteToCsv(file,line,append); } public static void wirteToCsv(String path,String fileName,List<String[]> list,boolean append) throws Exception { File file = createFile(path + File.separator + fileName,false); wirteToCsv(file,list,append); } public static File createFile(String path,boolean createNew) throws Exception{ File file = new File(path); if (createNew) { if (!file.exists()) { file.createNewFile(); } } else { if (!file.exists()) { throw new RuntimeException("文件不存在!"); } } return file; } public static CSVWriter createCSVWriter(File file,boolean append) throws Exception{ Writer writer = new FileWriter(file,append); CSVWriter csvWriter = new CSVWriter(writer); return csvWriter; } }