Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试在netbeans中读取文件时未找到文件异常_Java_File_Embedded Resource_Filenotfoundexception_Fileinputstream - Fatal编程技术网

Java 尝试在netbeans中读取文件时未找到文件异常

Java 尝试在netbeans中读取文件时未找到文件异常,java,file,embedded-resource,filenotfoundexception,fileinputstream,Java,File,Embedded Resource,Filenotfoundexception,Fileinputstream,我正在制作一个用Java播放声音的简单应用程序。当我将音频文件保存在D:磁盘中时,我就能够做到这一点。这是密码 in = new FileInputStream("D:\\"+selectedSounds[position]+".wav"); //Some code for playing audio 然后我将音频文件放在Jframe类所在的包中。但当我运行时,它会提示FileNotFoundException。有人能告诉我为什么会这样吗 in = new FileInputStream(se

我正在制作一个用Java播放声音的简单应用程序。当我将音频文件保存在D:磁盘中时,我就能够做到这一点。这是密码

in = new FileInputStream("D:\\"+selectedSounds[position]+".wav");
//Some code for playing audio
然后我将音频文件放在Jframe类所在的包中。但当我运行时,它会提示FileNotFoundException。有人能告诉我为什么会这样吗

in = new FileInputStream(selectedSounds[position]+".wav");
// I have also tried 
    new FileInputStream("./"+selectedSounds[position]+".wav");
这是文件路径


一旦程序打包为Jar,包含在“源程序包”中的wave文件将无法访问,因为这些文件将嵌入Jar本身,不再作为文件访问

相反,您应该使用
类#getResourceAsStream
,例如

try (InputStream in = getClass().getResourceAsStream("/PlayAudio/" + selectedSounds[position]+".wav")) {
    // You now have an InputStream to your resource, have fun
} catch (IOException | NullPointerException exp) {
    exp.printStackTrace();
}

这和秋千有什么关系?不要仅仅因为这是正在使用的GUI工具包就在帖子上贴标签。这同样适用于您的IDE。标记表示与问题相关的内容。