加载csv文件会抛出NullPointerException

时间:2017-08-30 19:17:59

标签: java csv nullpointerexception

所以我在同一个文件夹中有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());

获取任何帮助

3 个答案:

答案 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());