構造方式:
(第一種開發中)public BufferedOutputStream(OutputStream out):採用的默認的緩衝區大小(足夠大了) ,來構造一個字節緩衝輸出流對象
public BufferedOutputStream(OutputStream out,int size):指定size緩衝區大小構造緩衝輸出流對象
IllegalArgumentException - 如果 size <= 0
寫數據的方式:
一次寫一個字節
write(int by)
一次寫一個字節數組的一部分
write(byte[] b, int off, int len)
方法:
void flush() ;刷新緩衝區的流
面試題:字節緩衝輸出流它的構造方法爲什麼不能直接傳遞路徑/文件?
緩衝輸入流/緩衝輸出流,它只是在底層內部提供一個緩衝區的數組,
底層實現文件的複製、讀取、寫入這些操作都依賴於基本流對象來操作(InputStream/OutputStream/FileInputStream/FileOutputstream)
字節緩衝輸入流:
public BufferedInputStream(InputStream in):默認緩衝區大小構造緩衝輸入流對象
public BufferedInputStream(InputStream in,int size):指定緩衝區大小構造緩衝輸入流對象
public int read()
public int read(byte[] b,int off,int len)
注意: 在使用輸入流的時候,兩種方式讀取(一次讀取一個字節/一次讀取一個字節數在),只能用一種方式,否則,會出現錯誤!
public class BufferedInputStreamDemo {
public static void main(String[] args) throws IOException {
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("bos.txt"));
byte[] b=new byte[1024];
int len=0;
while ((len=bis.read(b))!=-1) {
System.out.println(new String(b,0,len));
}
bis.close();
}
}