FileInputStream是按字节读取文件的
按行读取的话,用BufferedReader
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("ss.csv"));
String str = "";
while (null != (str = br.readLine())) {
System.out.println(str);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
} finally {
if (br!= null) {
br.close();
用的相对路径,ss.csv和类放在一个文件夹里了
我来说一下大致的实现步骤,具体实现需要你自己去写了
①检索数据,检索到的数据假定为一个list
response.setHeader("Content-disposition","attachment;filename=\"" +new Date()+".csv\"");
解释:csv文件实际上就是字符串,之间用","进行分割,之后进行的存储.
工具类如下:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
/**
*
* CSV文件导出工具类
*/
public class CSVUtils {
* CSV文件生成方法
* @param head
* @param dataList
* @param outPutPath
* @param filename
* @return
public static File createCSVFile(List head, ListList dataList,
String outPutPath, String filename) {
File csvFile = null;
BufferedWriter csvWtriter = null;
csvFile = new File(outPutPath + File.separator + filename + ".csv");
File parent = csvFile.getParentFile();
if (parent != null !parent.exists()) {
parent.mkdirs();
csvFile.createNewFile();
csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
// 写入文件头部
writeRow(head, csvWtriter);
// 写入文件内容
for (List row : dataList) {
writeRow(row, csvWtriter);
csvWtriter.flush();
} catch (Exception e) {
csvWtriter.close();
return csvFile;
* 写一行数据方法
* @param row
* @param csvWriter
* @throws IOException
private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {
for (Object data : row) {
StringBuffer sb = new StringBuffer();
String rowStr = sb.append("\"").append(data).append("\",").toString();
csvWriter.write(rowStr);
csvWriter.newLine();
Object-Z
以上就是土嘎嘎小编为大家整理的javacsv代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!