gpt4 book ai didi

java - 读取jar内的txt文件

转载 作者:行者123 更新时间:2023-12-02 13:23:17 26 4
gpt4 key购买 nike

我已经研究过许多与我的类似的其他问题,但不幸的是,到目前为止,他们的答案都不起作用。

我有一个如下所示的 Java 项目:

MyProject/    src/        abc/            MyClass.java        xyz/            file1.txt            file2.txt            ...       

Essentially, I'm trying to read all of the txt files above in MyClass.java. This is what I'm currently doing:

File dir = new File("src/xyz/");
for (File child : dir.listFiles()) {
...
}

这工作正常,直到我将所有内容都放入 JAR 格式,此时 dir.listFiles() 返回 null 并且上述内容不再有效。即使这些 txt 文件被打包到 JAR 中,我仍然可以读取它们吗?另外,如果有什么不同的话,我正在使用 Eclipse。

最佳答案

您可以通过类加载器访问类路径上的文件。

getClass().getResourceAsStream("/xyz/file1.txt");

然后您将像往常一样使用InputStream。请注意,我使用绝对路径,但相对于当前包也可以。

从 Java 6 开始,还可以很容易地列出包下的所有资源:

 Enumeration urls = getClass().getClassLoader().getResources("xyz");
urls.nextElement().openStream();

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

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