gpt4 book ai didi

java - 从 Main.class.getResource() 获取文件

转载 作者:行者123 更新时间:2023-11-29 10:19:51 24 4
gpt4 key购买 nike

我正在用 Java 制作一个小游戏。对于这个游戏,我只是添加了声音。所以我想把我所有的图像和音频文件都放在 jar 里。对于图片这很简单:

new ImageIcon(Main.class.getResource("images/machgd2.png")).getImage()

但对于音频,它仅在我在 Eclipse 中运行程序而不是从 jar 中运行时才有效。我使用:

File soundFile = new File(Main.class.getResource(filename).getFile());

那么我怎样才能从 .jar 文件中获取这个文件呢?

更新:

好的,成功了,感谢 Andrew!为了播放声音,我使用了我在网上找到的一个类,我发现该类只使用 File 来获取 AudioInputStream,所以我放弃了 File 东西。

最佳答案

当它在 jar 文件中时,它不是文件系统上的文件,是吗?您或者必须将文件从 jar 文件复制到某个临时位置,或者使用不需要文件的 API(例如只需要 InputStreamURL,这两者都可以使用 getResourceAsStreamgetResource 从 jar 文件中轻松获得。

您没有显示您在哪里使用 soundFile - 如果您向我们显示您正在尝试使用哪些 API,我们可以尝试建议一个合适的替代方案。

关于java - 从 Main.class.getResource() 获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550680/

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