A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        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这个异常,没看出原因在哪!!!!

6 个回复

倒序浏览
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]);
                }

点评

这是一语惊醒梦中人,谢了  发表于 2015-8-27 13:04
回复 使用道具 举报
一楼说的很对,读了两次!

点评

是啊,看来图省事并不是什么好习惯!  发表于 2015-8-27 13:07
回复 使用道具 举报
王鲁悦 来自手机 中级黑马 2015-8-27 12:47:39
板凳
这样是不行的

点评

哪里不行?  发表于 2015-8-27 13:03
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马