gpt4 book ai didi

java - 生成的 .jar 无法加载某些媒体文件

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

我使用 IntelliJ 构建了一个 java 程序。该程序加载图像 (.jpg) 和音频 (.wav) 等媒体文件。

当我在 IDE 中运行我的项目时,它工作正常。但是当我生成项目的 .jar 文件时,图像和音频文件将不会加载。

  • 当我尝试加载 .wav 音频文件时,我收到 FileNotFoundException
  • 当我尝试加载 .jpg 文件时,出现 IIOException: Can't read the input file!

我正在像这样加载图像:

image = ImageIO.read(ImageScreen.class.getResourceAsStream("/quiz/resources/images/image_1.jpg"));`

当我检查调试器中的堆栈跟踪顶部时,我可以看到:javax.imageio.ImageIO.read(Unkown Source)

在我的应用程序的其他部分,我可以从类似的目录加载文本文件,如下所示,它也适用于 .jar 文件:

reader = new BufferedReader(
new InputStreamReader(
WordScreen.class.getResourceAsStream(
"/quiz/resources/words/wordlist.txt")));`

我的项目中只有一个名为 quiz 的包,但我不明白为什么它不起作用,因为我指定了绝对路径。

我查看了其他问题,例如 this one ,但在我看来,我正在做建议的事情。

最佳答案

谢谢大家的帮助。我已经设法解决我的问题。

我已经改变了这一点:

image = ImageIO.read(ImageScreen.class.getResourceAsStream("/quiz/resources/images/image_1.jpg"));

对此:

image = ImageIO.read(this.getClass().getResourceAsStream("/quiz/resources/images/image_1.jpg"));

我现在正在以相同的方式检索 .wav 并且它正在工作:

this.getClass().getResourceAsStream("/quiz/resources/audio/audio1.wav");

关于java - 生成的 .jar 无法加载某些媒体文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52445140/

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