通过使用scanner,bufferedreader和filereader从文件中读取javanullpointer

时间:2017-10-23 10:06:55

标签: java macros bufferedreader filereader

我是Java编程的新手。我使用java为我的模拟工具编写简单的宏。 在代码的以下部分中,我想在csv文件中找到最小值和最大值,该文件是“空白”分隔。

现在,我遇到的问题是我在输出窗口上收到了java.lang.NullPointerException消息。比它说宏观播放已经完成。

我在代码中有一些标记,输出结束于此位置。

有没有人知道为什么这不起作用?

public void VelMinandMax (String Velocity_Data) {

velMagMax = 0.0 ; 
velMagMin = 100.0 ;

FileReader fr1 = null ;
BufferedReader br1 = null ;
Scanner sc1 = null ;

try {
    fr1 = new FileReader(Velocity_Data);
    br1 = new BufferedReader(fr1);
    sc1 = new Scanner(br1); 

    while (sc1.hasNextLine()) {
        sc1.nextLine(); 

        if (sc1.hasNextDouble()) {
            double velMag = sc1.nextDouble();
            double coordX = sc1.nextDouble();
            double coordY = sc1.nextDouble();
            double coordZ = sc1.nextDouble(); 

            if (velMag>velMagMax)
                {
                velMagMax = velMag ;

                }
            if (velMag<velMagMin) 
                {
                velMagMin = velMag ; 

                }
        }
    }   
}
catch (FileNotFoundException e) {
    System.out.println ("Error : File Not Found") ;
}
finally {
    sc1.close() ;
    try {
        br1.close() ;
        fr1.close() ;

        }
    catch (IOException e2)  {
        System.out.println ("IOException"); 
        }
    }
}

编辑 输出:

公共执行 MethodVol CalcVelRef VelMinandMax 显示java.lang.NullPointerException

1 个答案:

答案 0 :(得分:0)

你不能在变量 Velocity_Data 中传递null吗?这是唯一可以触发NPE(恕我直言)的地方。