初步认识freemarker以及文件的操作

本文介绍使用Freemarker进行模板渲染的方法,并演示如何利用Java IO操作创建目录及文件。通过具体示例代码,展示了如何设置配置、加载模板、准备数据模型并生成指定文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.zxgllhh.test;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;

/**
*
* @author zhao,xingguo
*
* 学习了freemarker的用法
* 并且掌握了创建文件夹以及文件的用法,同时对相对路径以及绝对路径有了更深刻的认识
* 为重写代码生成器打下了基础
*
*/

public class TestFreeMarker {

public static void main(String[] args) throws Exception {
Configuration cfg = new Configuration();
cfg.setClassForTemplateLoading(TestFreeMarker.class, "templates");

cfg.setObjectWrapper(new DefaultObjectWrapper());

Template temp = cfg.getTemplate("test.ftl");

temp = cfg.getTemplate("dao.ftl");

Map<String, Object> dao = new HashMap<String, Object>();
dao.put("domainName", "EntpShow");
dao.put("msg", "hello dao!");

String e=System.getProperty("user.dir");
String[] te = e.split("\\\\");
String re = new String();
for(String s : te){
re = re + s + File.separator ;
}
System.out.println(re);

File file = new File(re+"src/com/zxgllhh/test/zxg");
if(!file.exists()){
System.out.println("not exists. creating folder.......");
file.mkdirs();//尽量不要用mkdir,功能太弱
}else {
System.out.println("exists......");
}

File afile = new File(re+"src/com/zxgllhh/test/zxg/EntpShowDao.java");
Writer w = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(afile)));
temp.process(dao, w);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值