首页 > 代码库 > Buffer Stream- BufferReader & BufferWriter

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