sean3112
2011-06-21 15:54
浏览 247
已采纳

求哪位童鞋解释下BufferedReader的readLine方法在打了断点后读取的数据不对的原因,谢谢!

[code="java"]package com.oraro.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class a {
public static void main(String[] args) throws IOException {
File f = new File("d:/1.txt");
if (f != null) {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(f);
br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {// 断点打在这里,然后一步一步执行,和不打断点直接执行的区别;
System.out.println(line);
line = br.readLine();
}
} catch (Exception e) {
br.close();
fr.close();
}
br.close();
fr.close();
}
}
}
[/code]
注意JDK是1.4,当不打断点的时候就不会有问题,附件有1.txt文件,文件中可以加一空行,再测试。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

6条回答 默认 最新

  • xiaoyingSUN 2011-06-24 15:59
    最佳回答

    又多说2句 ,为什么不打断点就正常
    因为不断点的话
    他就忽略了各种进制,直到换行符才算readLine()
    这是jvm的机制决定的,你断点其实就是为了更仔细的看运行过程
    所以他就真的一点一点给你运行鸟 :?

    评论
    解决 无用
    打赏 举报
查看更多回答(5条)

相关推荐 更多相似问题