gpt4 book ai didi

java - 如何跨目录读取类路径中的文本文件?

转载 作者:行者123 更新时间:2023-11-29 07:57:27 25 4
gpt4 key购买 nike

我正在开发一个程序(使用 JavaSE 1.6),它将读取位于项目类路径中的文本文件。

不过,这些文件与试图访问它们的类位于不同的文件夹中,并且将我的代码定向到它们的位置让我感到困惑。

我正在运行的类位于“src/test/java”文件夹中的一个包中,而文本文件被分成多个文件夹(出于组织目的)在“src/main/resources”文件夹中。

我目前正在尝试使用以下代码指向文本文件,但在该行运行后,“in”收到一个空值:

InputStream in = this.getClass().getResourceAsStream("/src/main/resources/<folder name here>/<file name here>.txt");

如果文件位于不同的目录中,我不确定是否允许我指定这样的文件,所以我有点不知道如何继续...我搜索了 Google 和 StackOverflow 并找到了很多用于从类路径读取文件的资源,但没有关于如何将 InputStream 指向类包之外的文件的信息。谁能告诉我这是否可行,如果可行,如何实现?

最佳答案

实际答案完全取决于您如何构建/打包它。

看起来 像一个 Maven 项目,在这种情况下,src/xxx/yyy 文件夹不在您实际的类层次结构中。构建后,src/main/resources 将位于类路径的,这意味着类路径资源只是your/folders/and/file.txt.

如果它不是 Maven 项目,那么它取决于您 构建它的方式。

关于java - 如何跨目录读取类路径中的文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717686/

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