
“又是我。”“嗨,艾莉!”“今天我想告诉大家有关BufferedReader和BufferedWriter 的所有信息。”“你已经跟我说过了。它们真的没有那么复杂。”“好的。那告诉我BufferedReader是如何工作的。”“BufferedReader就像一个 110/220V 转换器。”“您必须将读取数据的Reader对象传递给BufferedReader构造函数。BufferedReader对象从Reader读取大块数据并将它们存储在内部缓冲区中。这就是为什么使用 BufferedReader从Reader读取更快而不是直接从Reader阅读。”“没错。那么BufferedWriter呢?”“这是小菜一碟。假设我们写入一个FileWriter。数据会立即写入磁盘。如果我们频繁写入少量数据,那么我们会经常访问磁盘,这会大大降低程序速度。但是如果我们使用BufferedWriter作为“转换器”,那么写入操作会快得多。当您写入 BufferedWriter 时,它将数据保存在内部缓冲区中。当缓冲区已满时,它将数据写入Writer为一大块。这要快得多。”“嗯。没错。但你忘了什么?”“完成写入后,您需要在BufferedWriter对象上调用flush()方法以强制它将仍在缓冲区中的任何数据发送到 Writer。”“还有什么?”“还有什么?哦!只要缓冲区还没有写入 Writer,就可以删除和/或替换数据。”“阿米戈!我印象深刻!你是专家!好吧,那么我会告诉你一些新类:ByteArrayStream和PrintStream。”“例如,ByteArrayInputStream和ByteArrayOutputStream。”“这些类有点像StringReader和StringWriter。除了StringReader从字符串 (String) 中读取字符