admin
2021-09-24 881f273bca0f94345efb2c0cac52279af4a7f4e4
src/main/java/org/yeshi/utils/FreemarkerUtils.java
@@ -6,6 +6,8 @@
import org.apache.commons.io.IOUtils;
import java.io.*;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class FreemarkerUtils {
@@ -54,17 +56,40 @@
        return generateString(data, str);
    }
    public static String generateInputStream(Object data, String name, Map<String, InputStream> templateStreams) throws IOException {
        String result = null;
        try {
            StringTemplateLoader stringTemplateLoader = new StringTemplateLoader();
            for (Iterator<String> its = templateStreams.keySet().iterator(); its.hasNext(); ) {
                String key = its.next();
                stringTemplateLoader.putTemplate(key, IOUtils.toString(templateStreams.get(key), "UTF-8"));
            }
            cfg.setTemplateLoader(stringTemplateLoader);
            Template template = cfg.getTemplate(name, defaultCharacter);
            StringWriter out = new StringWriter();
            template.process(data, out);
            out.flush();
            result = out.toString();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
    /**
     * 将模板渲染以后保存到文件
     *
     * @param templateFileDir  模板目录
     * @param templateFileName 模板文件名称
     * @param targetFilePath   渲染后文件名称
     * @param data          数据
     * @param data             数据
     * @return
     */
    public static boolean renderingTemplateAndGenerateFile(String templateFileDir,
                                                           String templateFileName, String targetFilePath,Object data) {
                                                           String templateFileName, String targetFilePath, Object data) {
        boolean flag = true;
        try {
            // 设置文件所在目录的路径