黑马程序员技术交流社区

标题: 为什么一直提示空指针异常呢? [打印本页]

作者: 阮文江    时间: 2015-8-27 12:25
标题: 为什么一直提示空指针异常呢?
        public static void meth_02()throws IOException
        {
                BufferedReader buff = new BufferedReader(new FileReader("info.txt"));
                Properties pro = new Properties();
                while(buff.readLine()!=null)
                {
                        String[] arr = buff.readLine().split("=");
                        pro.setProperty(arr[0],arr[1]);
                }
                buff.close();
        }
这是一个将文件数据存入到Properties集合的小功能,文件数据格式我检查过好多遍了是没问题的,存放目录也没问题,但是被主函数调用的时候老提示
NullPointerException这个异常,没看出原因在哪!!!!


作者: pengbeilin    时间: 2015-8-27 12:30
while(buff.readLine()!=null)//你这里读了一行了
                {
                        String[] arr = buff.readLine().split("=");//你这里又读了一次
                        pro.setProperty(arr[0],arr[1]);
                }
//如果你的info.txt文本中就只有一行,你循环中读了一行,然后进来又读一行第二读的肯定是null,你把null切割,肯定会报空指针异常
把代码改成这样
String s = null;
while((s=buff.readLine())!=null)
                {
                        String[] arr = s.split("=");
                        pro.setProperty(arr[0],arr[1]);
                }
作者: kevin986745zk    时间: 2015-8-27 12:40
一楼说的很对,读了两次!
作者: 王鲁悦    时间: 2015-8-27 12:47
这样是不行的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2