Java 如何获取/调用资源文件中.wav的路径

Java 如何获取/调用资源文件中.wav的路径,java,audio,resources,Java,Audio,Resources,好的,我在一个叫做声音的资源文件中有一个.wav。我想要的文件名路径是/music/sound/One.wav。我试图用我在资源文件中没有的旧路径的路径替换它。我想这样做,这样我就可以制作一个jar文件并让人们播放它。我的代码部分是: public class AL implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated metho

好的,我在一个叫做声音的资源文件中有一个.wav。我想要的文件名路径是/music/sound/One.wav。我试图用我在资源文件中没有的旧路径的路径替换它。我想这样做,这样我就可以制作一个jar文件并让人们播放它。我的代码部分是:

public class AL implements ActionListener {

@Override
public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    InputStream in;

    try {

        String wav = "C:\\Users\\Mike\\workspace\\music\\sound\\One.wav";
        in = new FileInputStream(wav);
        AudioStream audio = new AudioStream(in);
        AudioPlayer.player.start(audio);
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }}}
我一直在阅读有关获取课程和资源的文章,但运气不好。帮助将是巨大的,提前谢谢。

试试做吧

try (InputStream in = this.getClass().getResourceAsStream("sound/One.wav")) {
    if (in != null) {
        AudioStream audio = new AudioStream(in);
        AudioPlayer.player.start(audio);
    }
}

或者可能只是
“One.wav”
,这取决于您如何设置类路径。因为这是在Eclipse中,所以您可能希望
sound
成为源目录。当您将其迁移到jar时,请确保它在该路径中包含
sound/One.wav
One.wav

如下图所示,我发布了我将其更改为的代码。我知道文件的位置是正确的,因为在我将其更改为“您如何使用”之前,我确实发出了/One.wav。当我尝试使用whats posted时,单击“开始”后什么也没有发生。我似乎得到了一个空指针异常。