导出CSV工具类

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;


@SuppressWarnings("rawtypes")
public class CSVUtil {
    
    public static void BufferWriteCSV(BufferedWriter bw,String[] heads,List<Object[]> list ) throws IOException{
    	BufferWriteHeads(bw, heads);
    	if(list!=null&&list.size()>0){
    		for(Object[] obj:list){
    			BufferWriteLine(bw, obj);
    		}
    	}
    }
    
	public static void BufferWriteHeads(BufferedWriter bw,String[] heads) throws IOException{
		for(int i=0;i<heads.length;i++){
			if(i==0){
				bw.write(heads[i]);
			}else{
				bw.write(","+heads[i]);
			}
		}
	}

	public static void BufferWriteLine(BufferedWriter bw,Object[] obj ) throws IOException{
		if(obj!=null&&obj.length>0){
			bw.newLine();//换行
			for(int i=0;i<obj.length;i++){
				String value = obj[i]==null?"":String.valueOf(obj[i]);
				if(i==0){
					bw.write(value);
				}else{
					bw.write(","+value);
				}
			}
		}
	}
}

使用:

OutputStream os = new F***();//按需要得到输出流
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os,"GB2312"));
//如果值要单独处理则单独处理两个方法
CSVUtil.BufferWriteHeads(bw, new String[]{"1","2","3","4"});
Object[] objs = new Object[4];
CSVUtil.BufferWriteLine(bw, objs);


你可能感兴趣的:(csv)