下面是我的Jar文件的结构
root
- template.ftl
- org.project.myproject.App.java
在App.java中,我有一行代码希望我指定用于加载template.ftl的目录.就像是:
Line#1: cfg.setDirectoryForTemplateLoading("java.io.File object that represents /directory/for/storing/template/files");
和下一行代码,读取模板文件
Line#2: Template temp = cfg.getTemplate("template.ftl");
我的问题是我无法指定将从中加载文件的目录路径.可以在Jar的根目录中加载要加载的模板文件.我写的时候
cfg.setDirectoryForTemplateLoading(new File("."));
它说,找不到template.ftl.
可以在上面的第1行正确设置模板目录的适当代码是什么?
解决方法:
我认为这对您不起作用,因为您正在尝试加载一个不存在的文件,但它在jar中.要从jar文件中读取模板作为输入流,可以执行以下操作:
this.getClass().getClassLoader().getResourceAsStream("template.ftl");
我认为这应该有助于您走上正确的道路.