
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
昆明达内培训的小编这一期给大家分享IO流的缓冲区和BufferedReader。
字符流的缓冲区
缓冲区的出现提高了对数据的读写效率。
对应类
BufferedWriter
BufferedReader
缓冲区要结合流才可以使用,因为缓冲区的为了提高流的操作效率。
在流的基础上对流的功能进行了增强。
BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
读取流缓冲区在对象建立时需要有被缓冲的对象,也就是在缓冲区构造方法中传入FIleReader的对象。
构造方法:
BufferedReader(Read in)
创建一个默认大小输入缓冲区的缓冲字符输入流。
in是一个流对象。
继承自Reader的方法:
void close()
关闭该流并释放与之关联的所有资源。
int read()
读取单个字符。
int read(char[ ],int off,int len)
从指定位置开始读入,并且指定长度。
特有方法:
String readLine()
读取一个文本行。遇到'\n'或者'\r'就认为某行终止。
读完一行会自动跳到下一行。
包含该行内容的字符串,不包含任何行终止符,如果达到流的末尾,则返回null。
因为不会读取到换行符,所以在读取过程中一般配合newLine使用。
readLine底层其实就是read方法。
代码示例:
import java.io.*;
public class BufferedReaderDemo01 {
public static void main(String[] args) throws IOException
{
//创建一个读取流对象和文件相关联
FileReader fr = new FileReader("D:\\Demo.txt");
//为了提高效率,加入了缓冲技术
//将字符读取流对象作为参数传递给缓冲区对象的构造方法
BufferedReader bufr = new BufferedReader(fr);
// String s1 = bufr.readLine();
// String s2 = bufr.readLine();
// System.out.println("s1 : " + s1);
// System.out.println("s2 : " + s2);
String s = null;
while((s = bufr.readLine()) != ull)
{
System.out.println(s);
}
bufr.close();
}
}
了解详情请登陆昆明达内IT培训官网(km.tedu.cn)!