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 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
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
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);