2020_05_12Java学习记录-BufferReder

BufferedReader ByteArrayOutputStream 缓冲思想

由于这只是一个程序新手的学习记录,如果有错误敬请指出!!!


在5月12号的Java课中,老师讲到了以上内容,我自行对其进行学习记录.


课中,我们对一个简单的.txt文件进行处理来学习并熟悉BufferReader以及感受缓冲的优势.

BufferReader:在Oracle官网对Buffer类的介绍中(SE 8),BufferReaderReader的一个子类,从一个字符输入流中读取文本,通过缓冲字符的方式,以便于更有效地读取字符,数组和行.并且缓冲区的大小是可指定的,当然也可以使用其默认的大小,因为它基本上可以满足大部分的基本需求.

但是BufferReader在单独使用时,读卡器发出的每个读请求都会导致由底层字符或字节流发出相应的读请求,因此存在一种明智的选择,将BufferReader包装任意的高消耗的ReaderReader()方法,比如FileReaderInputStreamReader.

例如:BufferReader in = new BufferedReader(new FileReader("foo.in"));

这样将会缓冲来自指定文件的输入.

如果不进行缓冲,每次调用reader或者readerline都会产生一个从文件中读取字节,转换为字符,然后返回的过程,这样的过程是很低效的.

使用DataInputStream进行文本输入的程序可以将每一个DataInputStream换成适合的BufferReader而变得本地化.

(我只是将官网的内容翻译,并加了一点自己的理解)

来源:https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html

你可能感兴趣的:(2020_05_12Java学习记录-BufferReder)