java class.getResource在vscode中返回null

尝试将文件作为作业的一部分运行。文件带有以下几行

System.getProperty("user.dir");
    URL edgesPath = CSI2510.class.getResource(edgesFilename);
    BufferedReader csvReader = new BufferedReader(new FileReader(edgesPath.getFile()));

但是getResource返回null。它试图查找的文件在同一目录中。我尝试添加“ \”,“ /”和“ ./”,但没有运气。我确信文件名正确,甚至无法将路径复制到文件。

我需要使用一个设置吗?该课程从未真正教过我们如何使用Java IDE,而且我感觉自己一直在使用错误。如何将充满Java和文本文件的文件夹添加到项目中?如何设置整个内容?

zwx10527 回答:java class.getResource在vscode中返回null

SomeClass.class.getResource找不到文件,找到资源,并且它与JVM查找类文件的位置相同。但这不是一个文件系统。 ..不起作用,并且在任何情况下都对点进行特殊处理(除最后一个点外的所有点均转换为斜杠)。

例如,这是:类Test {void foo(){Test.class.getResource(“ Test.java”); }

会发现自己。使用 OUT 前导斜杠,您可以从类所在的目录开始(如果需要,甚至可以在jar中),并且可以从那里访问子目录,但不能访问父目录。您还可以在字符串前面加一个斜杠,在这种情况下,它将在类路径条目的根目录中查找。

一个简单的技巧就是做到这一点:

System.out.println(CSI2510.class.getResource("CSI2510.class"));

这会告诉您您在看什么。

本文链接:https://www.f2er.com/2989206.html

大家都在问