所以我在同一个文件夹中有2个文件。 “example.csv”和“example.jpg”但是当我运行这段代码时,我得到了example.jpg的路径,但加载example.csv会抛出一个Nullpointer。
System.out.println(this.getClass().getResource("/example.csv").getFile());
System.out.println(this.getClass().getResource("/example.jpg").getFile());
获取任何帮助
答案 0 :(得分:1)
我已将.csv文件放在我的类路径中并以静态方法读取该文件。所以请根据您的需要进行更改,但是您应该能够通过这样做来阅读文件。
InputStream inputStream = ReadFile.class.getResourceAsStream("User.csv");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
if (inputStream != null) {
System.out.println(" read csv file : "+reader.readLine());
}
答案 1 :(得分:1)
调用getFile()
是徒劳的。 getResource()
返回JAR文件中的URL。它不是文件,不能被视为一个文件。您可以直接从网址获取InputStream
,也可以直接从getResourceAsStream()
获取。{/ p>
答案 2 :(得分:0)
getResource方法使用类加载器进行搜索,所以:
您需要将文件放在与类文件相同的目录中,或指定相对于该目录的目录。下面的代码需要它们在类文件目录中。
要将它们放在类文件目录中,请删除" /"来自文件名。
System.out.println(this.getClass().getResource("example.csv").getFile());
System.out.println(this.getClass().getResource("example.jpg").getFile());