java之字節緩衝輸出流,BufferedOutputStream的簡單介紹

2021-01-09 彼岸end

各位小夥伴們大家好,在之前的文章中,小編介紹了緩衝流的簡單原理,這次小編要介紹的是字節緩衝輸出流,BufferedOutputStream,具體如下:

java.io.BufferedOutputStream extends OutputStream

BufferedOutputStream:字節緩衝輸出流

繼承自父類的共性成員方法:

public void close():關閉此輸出流並釋放與此相關聯的任何系統資源

public void flush():刷新此輸出流並強制任何緩衝流和輸出字節被寫出

public void write(byte[] b):將b.length字節從指定的字節數組寫入輸出流

public void write(byte[] b,int off,int len):從指定的字節數組寫入len字節,從偏移量off開始輸出到此輸出流

public abstract void write(int b):將指定的字節輸出流

構造方法

BufferedOutputStream(OutputStream out)創建一個新的緩衝流,以將數據寫入指定的底層輸出流

BufferedOutputStream(OutputStream out,int size)創建一個新的緩衝輸出流,以將具有指定緩衝區大小的數據寫入指定底層輸出流

參數:

OutputStream out:字節輸出流

我們可以傳遞FileOutputStream,緩衝流會給FileOutputStream增加一個緩衝區,提高FileOutputStream的寫入效率

Int size:指定緩衝流內部緩衝區大小,不指定默認

使用步驟(重點)

1.創建FileOutputStream對象,構造方法中綁定要輸出的目的地

2.創建BufferedOutputStream對象,構造方法中傳遞BufferedOutputStream對象,提高BufferedOutputStream對象效率

3.使用BufferedOutputStream對象中的方法write,把數據寫入到內部緩衝區

4.使用BufferedOutputStream對象中的方法flush,把內部緩衝區中的數據,刷新到文件中。

5.釋放資源(會先調用flush方法刷新數據,可省略)

代碼如下:

public class Demo01BufferedOutputStream {

public static void main(String[] args) throws IOException {

//1.創建FileOutputStream對象,構造方法中綁定要輸出的目的地

FileOutputStream fos=new FileOutputStream("D:\\programming\\Eclipse\\eclipse-workspace\\bbb\\src\\bbb\\a");

/*2.創建BufferedOutputStream對象,構造方法中傳遞BufferedOutputStream對象,

提高BufferedOutputStream對象效率*/

BufferedOutputStream bos=new BufferedOutputStream(fos);

//3.使用BufferedOutputStream對象中的方法write,把數據寫入到內部緩衝區中

bos.write("把數據輸入到緩衝區中".getBytes());

//4.使用BufferedOutputStream對象中的方法flush,把內部緩衝區中的數據,刷新到文件中。

bos.flush();

//5.釋放資源

bos.close();

}

}

關於,字節緩衝輸出流,BufferedOutputStream,首先是創建FileOutputStream對象,然後在創建.創建BufferedOutputStream對象,之後用writer讀取,flush刷新,最後關閉資源。小編覺得,我們需要記住的是一些基本的方法還有步驟,最後希望這篇文章可以幫到大家,也歡迎各位小夥伴補充和糾錯。

相關焦點

  • java之字符緩衝輸出流,BufferedWriter的簡單介紹
    各位小夥伴們,大家好在之前的文章中小編介紹了字節緩衝流的相關知識,這次小編要介紹的是字符緩衝輸出流,BufferedWriter,具體如下:java.io.BufferedWriter extends Writer
  • Java之Random類的簡單介紹
    各位小夥伴這次小編要介紹的是Random類,它是用來形成隨機數字的,使用Random有三個步驟,與之前講的Scanner類差不多。第一步,導包:import java.util.Random第二步,創建:Random a=new Random();小括號是可以留空的第三步,使用:如果要獲取一個隨機數int數字(範圍是int所有範圍,有正負兩種):int num=a.nextInt();為了方便大家的理解,小編就先粘幾行代碼,是一個比較簡單的猜數字小遊戲,代碼如下:
  • 「JAVA」萬字長篇詳述字節碼對象與反射機制完成動態編程
    ,便會啟動JVM,將字節碼文件加載到JVM中,然後開始運行;當運行java命令時,該命令將會啟動一個JVM進程,在這個JVM進程中,會保存有該JVM創建的所有線程、變量、對象,這些線程、變量、對象會共享該JVM的內存區域。
  • bufferedReader和bufferedWriter用法(經典)
    1. java.io.BufferedReader和java.io.BufferedWriter類各擁有8192字符的緩衝區。當BufferedReader在讀取文本文件時,會先儘量從文件中讀入字符數據並置入緩衝區,而之後若使用read()方法,會先從緩衝區中進行讀取。
  • Java之抽象方法的使用與及接口中抽象方法的簡單介紹
    各位小夥伴們大家好,這次小編要介紹的是Java當中的接口,什麼是接口呢?接口就是多個類的公共規範,是一中引用數據類型,最重要的內容就是其中的抽象方法。public interface 接口名稱{//接口內容}備註:換成關鍵字interface之後,編譯生成的字節碼文件仍然是:.java-->.class接口中包含的內容有
  • Java反射機制深入詳解
    ()字節碼已經加載到java虛擬機中,去得到字節碼;java虛擬機中還沒有生成字節碼 用類加載器進行加載,加載的字節碼緩衝到虛擬機中。考慮下面這個簡單的例子,讓我們看看 reflection 是如何工作的。
  • java中的字節進位計算和(&)位運算符
    1、什麼是字節?字節就是計算機最小的單位!2、字節和二進位有什麼關係?
  • Java程式設計師必備基礎:Java代碼是怎麼運行的?
    java源文件編譯為class字節碼 類加載器把字節碼加載到虛擬機的方法區。 因此,在運行Java程序之前,需要編譯器把代碼編譯成java虛擬機所能識別的指令程序,這就是Java字節碼,即class文件。 所以,Java代碼運行的第一步是:把Java原始碼編譯成.class 字節碼文件。
  • 跟我學java編程—認識java的整數類型
    整型有正整數和負整數之分,在Java語言中,規定整型的最高位為符號位,最高位為「0」表示正數,最高位為「1」表示負數,其它位表示數值。因此整型類型的數據能夠表示的最小值為:-2n-1 —2n-1-1(n為該類型所佔存儲空間的二進位位數)。
  • 2020年Java基礎高頻面試題匯總
    在Java虛擬機中沒有任何供boolean值專用的字節碼指令,Java語言表達式所操作的boolean值,在編譯之後都使用Java虛擬機中的int數據類型來代替,而boolean數組將會被編碼成Java虛擬機的byte數組,每個元素boolean元素佔8位。這樣我們可以得出boolean類型佔了單獨使用是4個字節,在數組中又是1個字節。
  • 跟我學java編程—認識java語言的字符類型
    Java語言中,char佔2個字節的存儲空間,即可以存儲英文字符,也可以存儲單個漢字,一個漢字編碼也佔2個字節的存儲空間。char變量可按如下方式聲明:char code='a';任意單個字符,加單引號。char code ='中';任意單個中文字,加單引號。
  • Java NIO 基礎知識
    前面說的緩存區操作看似簡單,但是具體到底層細節,還是蠻複雜的。下面的描述,我儘量保證準確,但是不會展開得太具體,因為虛擬內存還是蠻複雜的,要完全介紹清楚,恐怕需要很大的篇幅,如果讀者對這方面的內容感興趣的話,建議讀者尋找更加專業全面的介紹資料,如《深入理解計算機系統》。
  • Java之File類的構造方法
    各位小夥伴們大家好,在之前的文章中,小編介紹了Java之File類的簡單介紹,File類的靜態成員變量,這次小編要介紹的是File類的構造方法小編先來介紹一下構造方法1:File(String pathname)通過給定路徑名字符串轉換為抽象路徑名來創建一個新File實例參數:String pathname:字符串的路徑名稱路徑可以是以文件結尾
  • Java面向對象之final、abstract抽象、和變量生命周期
    Java面向對象之final、abstract抽象、final修飾符final只要滿足以下條件就可以考慮把一個類設計成final類:在設計之初就考慮不進入繼承體系的類。出於安全考慮,類的實現細節不允許被拓展和修改。比如:基本數據類型的包裝類就是一個典型的例子。該類不會再被拓展。
  • 世界排行第一的程式語言:java迎來25歲生日
    與目前常用的C++相比,java語言簡潔得多,而且提高了可靠性,除去了最大程式設計師錯誤根源,此外它還有較高的安全性,可以說它是有史以來最為卓越的程式語言。java語言編寫的程序既是編譯型的,又是解釋型的。程序代碼經過編譯之後轉換為一種稱為java字節的中間語言,java虛擬機(JVM)將對字節進行解釋和運行。
  • Java常見內存溢出異常分析
    : Java heap space   at OOMTest.main(OOMTest.java:7)   從運行結果可以看出,JVM進行了一次Minor gc和兩次的Major gc,從Major gc的輸出可以看出,gc以後old區使用率為134K,而字節數組為10M,加起來大於了old generation的空間,所以拋出了異常,如果調整-Xms21M,-Xmx21M
  • Java 反射:框架設計的靈魂
    比如 C 語言;Java 嚴格來說也是編譯型語言,但又介於編譯型和解釋型之間;Java 不直接生成機器碼而是生成中間碼:編譯期間,是將源碼交給編譯器生成 class 文件(字節碼),這個過程中只做了翻譯的工作,並沒有把代碼放入內存運行;當進入運行期,字節碼才被 Java 虛擬機加載、解釋成機器語言並運行。
  • java操作ES整個流程介紹
    一 準備工作下載elasticsearch-6.7.0和展示ES數據的界面工具elasticsearch-head-master,本人電腦已安裝IntelliJ IDEA 2019.3 x64的java工具。簡單點,我們直接按默認配置學習。windows直接點擊elasticsearch.bat啟動ES。
  • 緩衝包裝材料介紹
    緩衝材料在產品包裝中的作用:緩衝材料吸收包裝受到衝擊或掉落時產生的一定比例的動能,並增加包裝內容物的制動距離。