package me.solby.xfile.csv.service;

import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.util.List;

/**
 * me.solby.ifile.icsv.service
 *
 * @author majhdk
 * @date 2019-08-07
 */
public interface CsvWriter {

    /**
     * 写入到浏览器（下载文件）
     * 备注：默认以流的方式写入response，浏览器直接下载，可自定义Header覆盖
     *
     * @param data     数据集
     * @param fileName 文件名
     * @param type     数据类型
     * @param response Servlet响应
     * @param <T>      T
     */
    <T> void write(List<T> data, String fileName, Class<T> type, HttpServletResponse response);

    /**
     * 写入到输出流
     * 备注：默认以流的方式写入response，浏览器直接下载，可自定义Header覆盖
     *
     * @param data     数据集
     * @param fileName 文件名
     * @param type     数据类型
     * @param <T>      T
     */
    <T> ByteArrayOutputStream writeOutputStream(List<T> data, String fileName, Class<T> type);

    /**
     * 写入到文件
     *
     * @param data     数据集
     * @param filePath 文件路径
     * @param type     数据类型
     * @param <T>      T
     */
    <T> void write(List<T> data, String filePath, Class<T> type);

}

@@ -600,61 +600,14 @@
  %E5%86%99%E5%85%A5%E5%88%B0
+%E5%AD%97%E8%8A%82
 %E8%BE%93%E5%87%BA%E6%B5%81%0A
-     * %E5%A4%87%E6%B3%A8%EF%BC%9A%E9%BB%98%E8%AE%A4%E4%BB%A5%E6%B5%81%E7%9A%84%E6%96%B9%E5%BC%8F%E5%86%99%E5%85%A5response%EF%BC%8C%E6%B5%8F%E8%A7%88%E5%99%A8%E7%9B%B4%E6%8E%A5%E4%B8%8B%E8%BD%BD%EF%BC%8C%E5%8F%AF%E8%87%AA%E5%AE%9A%E4%B9%89Header%E8%A6%86%E7%9B%96%0A
     

update writer annotation