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()) != ⑴){
System.out.println(bf.readLine());
}
结果每行的第1个字符都没有显示出来,缘由:(temp=bf.read())!=⑴ 每次都会先读取1个字节出来,所以后面的bf.readLine()读取的就是每行少1个字节.
String msg = null;
while ((msg=bf.readLine())!=null){
System.out.println(msg);
}