在Grails中的哪里放置文本文件,以及如何获取路径
问题内容:
我需要将.txt文件读入groovy类,以便逐行询问它。但是我不确定我将其放在grails应用程序中的哪个文件夹中,以及如何获取该文件夹的路径?
到目前为止,我已经尝试将其放置src
在新文件夹下web-app/txt
我尝试了以下内容以阅读
fileIn = new File('/lexicon.txt').text
和
fileIn = new File('txt/lexicon.txt').text
无济于事。
任何机构都有指针吗?
问题答案:
Grails是一个Java Web应用程序,因此它将被编译成一个sigle文件.war
,其中包含所有文件/类/
etc。大多数Web容器都会解压缩war
,但没有任何保证,因此,File
以文件形式访问此文件不是一个好主意。
顺便说一句,您可以将文件放入grails-app/conf
,在这种情况下,文件将放入classpath
,您可以使用以下方式访问文件:
InputStream lexicon = this.class.classLoader.getResourceAsStream('lexicon.txt')
您也可以将此文件放入一个子目录,例如grails- app/conf/data
并将其加载为***.getResourceAsStream('data/lexicon.txt')