【发布时间】:2018-07-19 07:52:24
【问题描述】:
我编写了一些代码来打开和读取 csv 文件的内容:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream(fileName)));
String line;
try {
line = bufferedReader.readLine();
while (line != null) {
line = bufferedReader.readLine();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// close buffered reader
}
代码在单元测试中运行良好,没有引发异常。但是,一旦我尝试通过 cmd 启动程序,它就会抛出来自 InputStreamReader 的 NPE:
Exception in thread "main" java.lang.NullPointerException
at exercise.FileLoader.loader(FileLoader.java:28)
at exercise.Application.main(Application.java:22)
程序实际上以文件名作为参数:
public static void main(String[] args) {
if (args.length > 1) {
System.out.println("Too many input arguments.");
System.exit(-1);
}
String fileName = args[0];
//here runs the method who reads the csv file above
}
你能告诉我发生了什么吗?
【问题讨论】:
标签: java cmd nullpointerexception inputstream bufferedreader