gpt4 book ai didi

java - getResource() 到运行时的文件

转载 作者:行者123 更新时间:2023-11-30 11:50:00 25 4
gpt4 key购买 nike

我在src文件夹下(在resources文件夹下)放了一些.txt文件。

但我无法在运行时从该资源创建有效的 File

String path = this.getClass().getResource("/resources/file.txt").getFile();
File file = new File(path);

if (!file.exists()) {
}

我从 eclipse 运行我的程序。我没有在类路径中放入任何东西。
我希望将我的文本文件嵌入到 .jar 文件中,当我运行我的应用程序时,我想抓取这些文件并将它们复制到某个位置。

更新

如果我这样做 InputStream is = getClass().getResourceAsStream("/resources/file.txt");

我明白了!

最佳答案

因为您在发布问题后很快就发现了自己,这是可行的:

InputStream is = getClass().getResourceAsStream("/resources/file.txt");

这个有效的原因是因为 zip 文件(jar 文件是 zip 文件)中的"file"不是真正的文件,直到它已被提取。但是提取文件是您要尝试执行的操作,因此在您的程序中,它不是真正的文件。所以这个问题是X-Y problem : 你想创建一个 File 对象,但那是不可能的 - 你需要回顾你最初尝试做的事情,这是从 zip 条目中读取的。

关于java - getResource() 到运行时的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152420/

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