packagecom.hy.csvdld.util;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.util.List;importorg.apache.log4j.Logger;importcom.hy.csvdld.Entity.Emp;importcom.hy.csvdld.service.EmpService;//用于生成CSV文件
public classCsvMaker {private static Logger log = Logger.getLogger(CsvMaker.class);public voidmakeTenCsv(File file, EmpService empService) {try{
List emps =empService.selectTenEmp();
FileWriter fileWriter= new FileWriter(file, true);int index = 0;for(Emp emp:emps) {
index++;
String info=""+index+","+ emp.asCsvLine()+ System.getProperty("line.separator");
fileWriter.write(info);
}
fileWriter.flush();
fileWriter.close();
}catch(IOException e) {
e.printStackTrace();
}
}
// 整体下载方案public void makeManyCsv(File file, EmpService empService,intcount) {try{
List emps =empService.selectMany(count);
FileWriter fileWriter= new FileWriter(file, true);int index = 0;for(Emp emp:emps) {
index++;
String info=""+index+","+ emp.asCsvLine()+ System.getProperty("line.separator");
fileWriter.write(info);
}
fileWriter.flush();
fileWriter.close();
}catch(IOException e) {
e.printStackTrace();
}
}//当count过大时,分批下载
public void makePartialCsv(File file, EmpService empService,intcount) {try{int PartialSize=10000;int times=count/PartialSize;for(int i=0;i
log.info("第"+i+"批次处理");
FileWriter fileWriter= new FileWriter(file, true);
List emps = empService.selectPartial(i*PartialSize, PartialSize);int index = i*PartialSize;for(Emp emp:emps) {
index++;
String info=""+index+","+ emp.asCsvLine()+ System.getProperty("line.separator");
fileWriter.write(info);
}
fileWriter.flush();
fileWriter.close();
}
}catch(IOException e) {
e.printStackTrace();
}
}
}