gpt4 book ai didi

java - 当项目是 .jar 或在 IDE 中时,如何动态访问 src/main/resources 中的文件

转载 作者:行者123 更新时间:2023-12-01 16:17:30 24 4
gpt4 key购买 nike

我有一个项目,它使用 src/main/resources*/input* 中找到的文件并在 src/main/resources*/output* 中生成文件。

我经常用

System.getProperty("user.dir") + "/src/main/resources"

我的问题是它不是动态的。当我使用 IDE 时它工作正常,但是当我将项目构建为 .jar 文件时,我最终必须将 src/main/resources 添加到 jar 所在的根目录中......这可能很糟糕。

我尝试使用以下返回空指针异常的方法

this.getClass().getResource("input").getPath().toString()

有人可以为我提供一种动态方式来访问 src/main/resources 中我需要的目录以一种从 IDE 和 .jar 运行的动态方式吗?

最佳答案

您可以使用以下方式从资源文件夹访问文件:

this.getClass().getResourceAsStream("/NLP/models/en-lemmatizer.bin").toString();

NLP 是资源中的一个文件夹,资源中又包含一个模型文件夹,其中包含 bin 文件。

据我所知,您无法在 jar 内生成文件或创建新文件。

关于java - 当项目是 .jar 或在 IDE 中时,如何动态访问 src/main/resources 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62364395/

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