CVS导出工具【附DEMO】

 最近开发一个接口日志,采用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;
	}
}
 

猜你喜欢

转载自zhongmin2012.iteye.com/blog/2307040
今日推荐