Java Logic.class.getResource(“effects\\newball.wav”);返回空值

Java Logic.class.getResource(“effects\\newball.wav”);返回空值,java,file,null,Java,File,Null,我遇到了以下代码snip返回null的问题: System.out.println(Logic.class.getResource("effects\\newball.wav")); 我的项目中有一个名为effects的源文件夹。在这个文件夹中有引用的文件。我想有个语法错误。。。因为文件在那里。我必须以这种方式(使用getResource)引用我的文件,因为我将在以后将其导出为jar 谢谢无论您使用的计算机上的文件系统是什么,资源路径都应该使用正斜杠:请尝试“effects/newball.w

我遇到了以下代码snip返回null的问题:

System.out.println(Logic.class.getResource("effects\\newball.wav"));
我的项目中有一个名为effects的源文件夹。在这个文件夹中有引用的文件。我想有个语法错误。。。因为文件在那里。我必须以这种方式(使用getResource)引用我的文件,因为我将在以后将其导出为jar


谢谢

无论您使用的计算机上的文件系统是什么,资源路径都应该使用正斜杠:请尝试“effects/newball.wav”


请参阅(在“资源、名称和上下文--”下,“资源的名称独立于Java实现;特别是,路径分隔符始终是斜杠(/)。”)您的
效果
目录应该是
src
目录的直接子目录。在这种情况下,您需要一个
/
来启动字符串路径。因此,您需要这个

System.out.println(Logic.class.getResource("/effects/newball.wav"));

ProjectRoot
          src
             effect
                  newball.wav
我通常使用IDE做的就是创建一个新的包,并将它命名为我想要的任何文件——在您的例子中是“effect”,这样更简单


更新


我确实这样做了,但它仍然返回null

对我来说很好

package stackoverflow;

public class Test {

    public static void main(String[] args) {
        System.out.println(Test.class.getResource("/effects/stack_reverse.png"));

    }
}


输出:
文件:/C:/Android/workspace/StackOverflow/bin/effects/stack_reverse.png

如果您确信该文件存在,您可能没有意识到您指定的路径不存在。请尝试
/effects/newball.wav
,它必须对您有所帮助。@Mansouritta“just”newball.wav也是这样吗“部分,还是案例部分?根据您对JVMATL答案的评论,如果第一个效果实际上是源文件夹的子文件夹。。。我有点困惑。你应该把它放在
src
中。在构建过程中,它将被复制到您的
bin
。如果它不在
src
中,则不会复制它。如果它是JVMATL下的嵌入式资源,您应该将其保存在
src
中。您声称
effects
的路径是
C:\Users\A723023\RDz\RDz-RZ4\ErstesGutesSpiel\src\effects
。现在你说它不是。你能提出你的问题并发布关于你的项目结构的真实信息吗?(你可以添加到一些外部图像主机的链接,我们可以稍后在你的帖子中编辑成实际图像)。这里有关于
\\
为什么不好和
/
为什么好的参考资料吗?据我所知,Java应该毫无问题地同时使用这两种语言。@JVMATL它不起作用:)我试了这么多,什么也没试过works@Mansouritta-了解项目的目录布局会有所帮助:相对于逻辑所在的包,effects文件夹位于何处?“相对”路径是相对于类路径根而不是“当前目录”的。如果您更新问题以提供此信息,人们将能够更好地帮助您。存储.java文件的地方是:C:\Users\A723023\RDz\RDz-RZ4\ErstesGutesSpiel\src\mhm和存储的声音:C:\Users\A723023\RDz\RDz-RZ4\ErstesGutesSpiel\src\effectsI坦白说,我被难住了;看起来你做的事情是正确的,下面@peeskillet的答案对我来说很好。你是如何定义你的类路径的,可能有什么奇怪的地方吗?你能更新你的问题吗[不是在评论中,而是在上面的问题中,]要包含在执行程序时使用的类路径吗?这可能是缺少的链接。我做了一个示例,但它仍然返回null。请查看我的更新,看这是否有帮助。谢谢!如何在帖子中添加图片?这对我很有帮助:)你需要10个信誉点。发布时,您将在文本区域上方看到一个图像图标。我会给你们介绍一些贴照片的要点:)事实上,我不能。我刚试过。你没有足够的问题让我投票。你很快就会到的。另见我的评论。我的答案是你应该如何拥有你的文件结构。如果要将
效果作为嵌入式资源,则它不应位于
src
之外