BufferedReader的read和readLine方法使用需要注意的地方

论坛 期权论坛 脚本     
匿名技术用户   2020-12-29 04:02   20   0
项目中有一次使用BufferedReader的readLine方法,每次读一行,发现读出来的每一行的内容,少一个字节

1.读取一个txt文件,方法很多种我使用了字符流来读取

FileReader fr = new FileReader("f:\\TestJava.java");

BufferedReader bf = new BufferedReader(fr);

int len;
while((len=bf.read())!=-1)

{
System.out.println(bf.readLine());
}

发现每行的第一个字符都没有显示出来,原因是:len=bf.read())!=-1 每次都会先读取一个字节出来,所以后面的bf.readLine());
读取的就是每行少一个字节

所以,应该使用

String valueString = null;

while ((valueString=bf.readLine())!=null)

{
System.out.println(valueString);

}








分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP