gpt4 book ai didi

java - 在grails中读取文件

转载 作者:行者123 更新时间:2023-12-02 14:14:09 24 4
gpt4 key购买 nike

所以我有一些 .drlt 文件(普通的 txt 文件,用作规则引擎的模板)和我需要读取它们并放入应用程序 Bootstrap 中的一些静态字符串变量。

我只是不知道将其放入 grails 应用程序中的何处以及如何读取它们。

我尝试将它们放入 src/java 并从 src/grails、域、服务等读取它们。但这些都不起作用。唯一有效的方法是将其放入 grails-app/conf 中并像这样读取它们:

def classLoader = Thread.currentThread().contextClassLoader
def fileReader = classLoader.getResourceAsStream('my-file.drlt').newReader()

但我不想将我的模板文件放在 config 目录中。我读过很多关于这个问题的帖子和“解决方案”,但没有一个是好的解决方案。难道这真的有可能在 Grails 这样稳定的框架中无法发挥作用吗?

感谢您的帮助,伊万

最佳答案

由于 Grails 是一个结构良好的 Spring 应用程序,因此您可以利用 ResourceResourceLoader 来加载文本文件。 grailsResourceLocator 使这些的使用变得非常简单(确保将其注入(inject)到您的 bean 中)。使用这些类,您可以在 src/javasrc/groovy 目录中找到您的文件,并将其视为任何其他类资源。

例如,如果您的文件位于 src/java/com/example/textfile.txt 中,那么您可以使用 grailsResourceLocator 将其作为 File 进行访问.findResourceForURI('classpath:/com/example/textfile.txt').getFile()

详细示例可以在 blog post 中找到以及 Resource 的 API 文档也可能有帮助。

这是在 Grails 应用程序中处理资源的正确方法。

关于java - 在grails中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27459310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com