BufferedReader它可以包装字符流,拥有8192字符的缓冲区,将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你flush的时候,再读入内存,就是为了提供读的效率而设计的。
用法:
//接收数据 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String msg = in.readLine(); if (null != msg){ System.out.println(msg); }
注意点:read()方法判断是否为空
FileReader fr = new FileReader("D:\\Test.txt"); BufferedReader bf = new BufferedReader(fr); int temp; while ((temp = bf.read()) != -1){ System.out.println(bf.readLine()); }
结果每行的第一个字符都没有显示出来,原因:(temp=bf.read())!=-1 每次都会先读取一个字节出来,所以后面的bf.readLine()读取的就是每行少一个字节.
String msg = null; while ((msg=bf.readLine())!=null){ System.out.println(msg); }
时间: 2024-10-09 20:27:26