java资源加载多个文件

时间:2016-01-19 01:14:21

标签: java xslt

我正在使用需要加载大量XML样式表的类(Saxon xslt):

import net.sf.saxon.s9api.Processor;
import net.sf.saxon.s9api.Serializer;
import net.sf.saxon.s9api.XdmNode;
import net.sf.saxon.s9api.XsltCompiler;
import net.sf.saxon.s9api.XsltExecutable;
import net.sf.saxon.s9api.XsltTransformer;    

XsltCompiler comp = (new Processor(false)).newXsltCompiler();

ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("xsl_files/main.xsl");

XsltExecutable exp exp = comp.compile(new StreamSource(is));

xsl_files位于资源文件夹中。 main.xsl已正确加载,但main.xsl引用了Saxon的XsltCompiler所需的xsl_files文件夹中的其他文件,但这些文件并未从java资源加载。如果我将xsl_files复制到硬盘驱动器上的物理文件夹中,那么我只需使用以下内容即可正确加载main.xsl使用的所有文件:

XsltExecutable exp = comp.compile(new StreamSource(new File("path/to/xsl_files/main.xsl")));

有什么方法可以从java资源加载整个文件夹而不是硬盘上的真实路径?

1 个答案:

答案 0 :(得分:2)

相关问题