Eclipse 找不到声音文件
我正在尝试流式传输.wav文件。我得到了这个错误: java.io.FileNotFoundException:\sounds\player-bullet.wav(系统找不到指定的文件) 文件结构为src/sounds/player-bullet.wav。 java文件位于src中。代码如下:Eclipse 找不到声音文件,eclipse,audio,filepath,Eclipse,Audio,Filepath,我正在尝试流式传输.wav文件。我得到了这个错误: java.io.FileNotFoundException:\sounds\player-bullet.wav(系统找不到指定的文件) 文件结构为src/sounds/player-bullet.wav。 java文件位于src中。代码如下: AudioInputStream ais = AudioSystem.getAudioInputStream(new File("/sounds/player-bullet.wav")); 但在同一个
AudioInputStream ais = AudioSystem.getAudioInputStream(new File("/sounds/player-bullet.wav"));
但在同一个文件中,我加载了一个带有此代码的图像,它可以工作:
shipImage = new Image("/images/player.png");
文件结构为src/images/player.png。
此代码在eclipse中工作:
AudioInputStream ais = AudioSystem.getAudioInputStream(new File("./src/sounds/player-bullet.wav"));
但是当我把它做成一个jar文件时,src文件并不包括在内。因此,当文件位于jar中时,这将不起作用。您将问题标记为JavaFX,但它似乎与JavaFX无关。您的应用程序是否扩展?如果不是,则它不是JavaFX应用程序,播放声音的方法不同于JavaFX或。(我没有使用Java sound
AudioSystem
,因此我无法对此发表评论)。它确实扩展了JavafxI,编辑了标记以删除JavaFX引用。您可能想使用,但可能不需要文件对象。问题可能是重复的:。我使用的方法播放声音,它只是找不到jar文件中的文件。这是因为它不是真正的文件,而是jar文件中的资源。这就是为什么您不使用文件
,而是按照建议使用getResourceAsStream()
。有关更多信息,请阅读:。检查该文件是否也在jar文件中您期望的位置(通过jar-tvf.jar
)。