1

使用 groovy 加载文件时出现问题。我的测试数据中有一个sample.txt文件和一个 pdf ( fonts.pdf) 文件,用于一个项目。它们位于同一路径中。

当我使用下面的代码来获取 txt 文件时,我没有得到 aNullPointerException但是当我使用相同的代码来获取 pdf 文件时,我得到了NullPointerException.

     def String inputFile = 'fonts.pdf'
     GroovyClassLoader classLoader = new GroovyClassLoader()
     return new File(classLoader.getResource(inputFile).path)
4

1 回答 1

0

您是否使用带有包名的脚本?以下工作没有任何问题。

def String inputFile = 'fonts.pdf'
 GroovyClassLoader classLoader = new GroovyClassLoader()
 print classLoader.getResource(inputFile );
 return new File ( classLoader.getResource(inputFile ).toURI() )

如果我使用包,则文件名需要具有匹配的包名,并且应该位于适当的运行时位置

def String inputFile = 'apackage/fonts.pdf'
 GroovyClassLoader classLoader = new GroovyClassLoader()
 print classLoader.getResource(inputFile );
 return new File ( classLoader.getResource(inputFile ).toURI() )

无论如何,如果文件是文本或 pdf,我看不出有什么区别

于 2012-12-30T07:06:57.333 回答