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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张迁 中级黑马   /  2013-5-19 21:55  /  1172 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张迁 于 2013-5-19 22:13 编辑

为什么报空指针异常呢??

  1. List<String> list = new ArrayList<>();
  2.                 BufferedReader bf = new BufferedReader(new FileReader("笔记.txt"));
  3.                 String str;
  4.                
  5.                 while(!(str = bf.readLine()).isEmpty()){      //判断是否为空,为什么报空指针异常呢?
  6.                         list.add(str);
  7.                 }
  8.                 bf.close();

  9.                 BufferedWriter bw = new BufferedWriter(new FileWriter("test2.txt"));
  10.                 for (int i = list.size()- 1; i >=0; i--) {
  11.                         bw.write(list.get(i));
  12.                         bw.newLine();
  13.                 }
  14.                 bw.close();
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

12 个回复

倒序浏览
把异常信息贴出来哦
回复 使用道具 举报
应该是str为null,所以才会报空指针异常!
可能是没有读取到数据,笔记.txt存在吗?
回复 使用道具 举报
while((str = bf.readLine())!=null){      这样不是很好么
回复 使用道具 举报
为0时是true 。那就循环执行。那当然会空指针啊
回复 使用道具 举报
不知道你前面的!会不会取反。。嘿嘿,我是新手,只提下我的意见,别喷我哈
回复 使用道具 举报
张迁 中级黑马 2013-5-19 22:10:13
7#
回首、后_街 发表于 2013-5-19 22:02
应该是str为null,所以才会报空指针异常!
可能是没有读取到数据,笔记.txt存在吗? ...

哦哦,错在这,那就不能这样写了吧,文件最后都有空
回复 使用道具 举报
张迁 中级黑马 2013-5-19 22:10:56
8#
画饼 发表于 2013-5-19 22:04
while((str = bf.readLine())!=null){      这样不是很好么

恩恩!是的
回复 使用道具 举报
画饼 中级黑马 2013-5-19 22:16:15
9#
张迁 发表于 2013-5-19 22:10
恩恩!是的

y原来你是张迁
回复 使用道具 举报
  1. while(!(str = bf.readLine()).isEmpty()){      //判断是否为空,为什么报空指针异常呢?

  2. 07.                        list.add(str);

  3. 08.                }
复制代码
此循还能胜利执行,当执行到最后时,因为readline()方法读到最后,没有数据了,返回了一个null,再调用isEmpty()方法,必然会报NullPointerException异常

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

回复 使用道具 举报
画饼 发表于 2013-5-19 22:16
y原来你是张迁

我是传智0418基础班的,你也是?
回复 使用道具 举报
熊永标 发表于 2013-5-19 22:16
此循还能胜利执行,当执行到最后时,因为readline()方法读到最后,没有数据了,返回了一个null,再调用isEmpty() ...

嗯,没注意到这点,现在知道了,谢谢哈!
回复 使用道具 举报
张迁 发表于 2013-5-19 22:36
我是传智0418基础班的,你也是?

不是啦,宝贝,我是在黑马群里看见你的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马