BufferedOutputStream
介紹
繼承父親的成員方法
-
java.io.OutputStream
這個抽象類是表示位元組輸出流的所有類的超類。 輸出流接收輸出位元組并将其發送到某個接收器。
定義了一些子類共性的成員方法:
1.public abstract void write(int b)throws IOException
将指定的位元組寫入此輸出流。 write的一般合同是将一個位元組寫入輸出流
2.public void write(byte[] b)throws IOException
将b.length位元組從指定的位元組數組寫入此輸出流。 write(b)的一般合約是應該具有與電話write(b, 0, b.length)完全相同的效果。
3.public void write(byte[] b,int off,int len)throws IOException
從指定的位元組數組寫入len位元組,從偏移off開始輸出到此輸出流。
write(b, off, len)的一般合同是數組b中的一些位元組按順序寫入輸出流; 元素b[off]是寫入的第一個位元組, b[off+len-1]是此操作寫入的最後一個位元組。
-
public void flush()throws IOException
重新整理此輸出流并強制任何緩沖的輸出位元組被寫出。
flush的一般合同是,呼叫它表明,如果先前寫入的任何位元組已經通過輸出流的實作進行緩沖,則這些位元組應該立即被寫入到它們的預定目的地。
5.public void close()throws IOException
關閉此輸出流并釋放與此流相關聯的任何系統資源。 close的一般合同是關閉輸出流。 封閉流不能執行輸出操作,無法重新打開。
構造方法:
*BufferedOutputStream(OutputStream out)
建立一個新的緩沖輸出流,以将資料寫入指定的底層輸出流。
BufferedOutputStream(OutputStream out, int size)
建立一個新的緩沖輸出流,以便以指定的緩沖區大小将資料寫入指定的底層輸出流。
OutputStream out:位元組輸出流
- 我們可以傳遞FileOutPutStream,緩沖流會給FileOutputStream增加一個緩沖區提高寫入效率
- int size:指定緩沖區的大小,不指定預設
- 使用步驟
- 1.建立File OutputStream,構造方法中綁定目的地
- 2.建立Bufferedoutputstream對象,構造方法中傳遞fileoutputstream對象,提高對象效率
- 3.調用Bufferedoutputstream對象中的write,把資料寫入到内部緩沖區中
- 4.調用bufferedoutpputstream對象中flush,把内部緩沖區的資料,重新整理到檔案中
- 5.釋放資源(會先調用flush方法重新整理資料,第四步可以省略)
代碼塊
public class Demo01BufferedOutputStream {
public static void main(String[] args) throws IOException {
FileOutputStream fo=new FileOutputStream("src\\cn\\itcast\\IO\\BufferedStream\\1.txt");
BufferedOutputStream bo=new BufferedOutputStream(fo);
bo.write("nihao".getBytes(),0,"nihao".length());
bo.flush();
bo.close();
}
}
Writer
介紹:
字元型緩沖輸出
構造方法
BufferedWriter(Writer out)
建立使用預設大小的輸出緩沖區的緩沖字元輸出流。
BufferedWriter(Writer out, int sz)
建立一個新的緩沖字元輸出流,使用給定大小的輸出緩沖區。
成員方法
void close()
關閉流,先重新整理。
void flush()
重新整理流。
void newLine()
寫一行行分隔符。
void write(char[] cbuf, int off, int len)
寫入字元數組的一部分。
void write(int c)
寫一個字元
void write(String s, int off, int len)
寫一個字元串的一部分。
- 使用步驟,
- 1.建立字元緩沖輸出流對象,構造方法中傳遞字元輸出流
- 2.調用字元緩沖輸出流中的方法write,把資料寫入到記憶體緩沖區中
- 3.調用字元緩沖輸出流中的方法flush,把記憶體緩沖區中的資料,重新整理到檔案中
- 4.釋放資源
代碼塊
public class DemoBufferedWriter {
public static void main(String[] args)throws IOException {
BufferedWriter bw=new BufferedWriter(new FileWriter("src\\cn\\itcast\\IO\\BufferedStream\\bufferedwriter.txt"));
for (int i = 0; i < 10; i++) {
bw.write("你好,請吃飯!");
bw.newLine();//轉行
}
bw.flush();
bw.close();
System.out.println();
/*public void println() {
newLine();
}*/
}
}