Buffer Stream- BufferReader & BufferWriter

Posted 吸毒术士柯震东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Buffer Stream- BufferReader & BufferWriter相关的知识,希望对你有一定的参考价值。

今天学学封装流,相当于缓冲区 ,目的很简单就是减少硬盘读写次数,提高efficiency

另外 学习一个 Buffer-Stream  的 newLine()  方法,本质就是 封装了 判断  ‘\n‘ 而已

 1 import java.io.*;
 2 
 3 
 4 
 5 /**
 6  * Created by wojia on 2017/7/7.
 7  */
 8 public class BufferStreamDemo {
 9     public static void main(String args[]) throws Exception {
10         /**
11          * 练习 buffer stream 进行封装 节点流 InputStream and OutputStream
12          * */
13 
14         //1.create a BufferStream , 8192 byte in default
15         BufferedWriter bis = new BufferedWriter( new FileWriter( "E:/test/test.txt") );
16         //8192 times
17         for (int i = 0 ; i < 8190; i++){
18         bis.write(‘A‘);}
19         bis.close();
20         //create a inputstream
21         InputStream in = new FileInputStream("E:/test/test.txt");
22         // create a bufferinputstream
23         BufferedInputStream bin = new BufferedInputStream(in);
24         byte[] buffer = new byte[1024];
25         int length = -1;
26         /**length = .. 这个判断语句是必须的 因为 byte[] (包括字符流的reader ) 输入流不一样为1024 大小 所以会有空位置
27          * 直接system out 会出现 空格(就是数组中的空),因此 还 需要 new String( buffer, 0, length ) 字节流多大就打印多长
28          * */
29         /**当然 java 包里 的<Buffer></buffer> stream也提供了
30          * readline方法,同样具备 如此功能 
31          * */
32         while((length = in.read( buffer ))!= -1) System.out.println( new String( buffer, 0, length ) );
33      bin.close(); 
34     }
35 }

 

以上是关于Buffer Stream- BufferReader & BufferWriter的主要内容,如果未能解决你的问题,请参考以下文章

Java I/O 中的“Stream”和“Buffer”到底是啥意思?

node.js Stream Buffer FsPromise

Buffer Stream- BufferReader & BufferWriter

Node.js的Buffer(缓冲区)和Stream

Buffer与Stream

在异步模式下使用 MediaCodec,问题是,我没有得到 MediaCodec.BUFFER_FLAG_END_OF_STREAM