java之字符緩衝輸出流,BufferedWriter的簡單介紹

2020-12-06 彼岸end

各位小夥伴們,大家好在之前的文章中小編介紹了字節緩衝流的相關知識,這次小編要介紹的是字符緩衝輸出流,BufferedWriter,具體如下:

java.io.BufferedWriter extends Writer

BufferedWriter:字符緩衝輸出流

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

1.void write(int c)寫入單個字符。

2.void write(char[] cbuf)寫入字符數組

3.abstract void writer(char[] cbuf,int off,int len)寫入字符數組的某一部分,off數組的開始索引,len寫的字符數組

4.void write(String str)寫入字符串。

5.void write(String str,int off,int len)寫入字符串的某一部分,off字符串的開始索引,len寫的字符個數。

6.void flush()刷新該流的緩衝

7.void close()關閉此流,但要先刷新它

構造方法:

BufferedWriter(Writer out)創建一個使用默認大小輸出緩衝區的緩衝字符輸出流。

BufferedWriter(Writer out,int sz)創建一個使用給定大小輸出緩衝區的新緩衝字符輸出流。

參數:

Write out:字符輸出流

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

Int sz:指定緩衝區的大小,不寫默認大小

特有的成員方法:

Void newLine()寫入一個行分隔符。會根據不同的作業系統,獲取不同的行分隔符

換行:換行符號

Windows:\r\n

Linux:/n

Mac:/r

使用步驟:

1.創建字符緩衝輸出流對象,構造方法中傳遞字符輸出流

2.調用字符緩衝輸出流中的方法write,把數據寫入到內存緩衝區

3.調用字符緩衝流中的方法flush,把內存緩衝區中的數據,刷新到文件中

4.釋放資源

代碼如下:

public class Demo03BufferedWriter {

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

//1.創建字符緩衝輸出流對象,構造方法中傳遞字符輸出流

BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\programming\\Eclipse\\eclipse-workspace\\bbb\\src\\bbb\\a"));

//2.調用字符緩衝輸出流中的方法write,把數據寫入到內存緩衝區

for(int i=0;i<10;i++) {

bw.write("你可以隨著我的步伐,輕輕柔柔的踩,將美麗的回憶慢慢重來");

//bw.write("\r\n");

bw.newLine();//換行

}

//3.調用字符緩衝流中的方法flush,把內存緩衝區中的數據,刷新到文件中

bw.flush();

//4.釋放資源

bw.close();

}

}

關於字符緩衝輸出流,其實原理還是和字符輸出流是一樣的java之字符輸出流,FileWriter類的簡單介紹小編就不多說,希望這篇文章可以幫到大家,也歡迎各位小夥伴補充和糾錯。

圖片來自網絡,如有侵權,請聯繫作者刪除

相關焦點

  • java之字節緩衝輸出流,BufferedOutputStream的簡單介紹
    各位小夥伴們大家好,在之前的文章中,小編介紹了緩衝流的簡單原理,這次小編要介紹的是字節緩衝輸出流,BufferedOutputStream,具體如下:java.io.BufferedOutputStream extends OutputStreamBufferedOutputStream:字節緩衝輸出流繼承自父類的共性成員方法:
  • bufferedReader和bufferedWriter用法(經典)
    1. java.io.BufferedReader和java.io.BufferedWriter類各擁有8192字符的緩衝區。當BufferedReader在讀取文本文件時,會先儘量從文件中讀入字符數據並置入緩衝區,而之後若使用read()方法,會先從緩衝區中進行讀取。
  • 跟我學java編程—認識java語言的字符類型
    示例1:字符賦值並輸出到命令行窗口在D盤Java目錄下,新建「CharSample.java」文件。用記事本打開「CharSample.java」文件,輸入以下代碼:編譯「CharSample.java」文件,在命令行窗口輸入「javac CharSample.java」並執行命令,編譯通過後,在命令行窗口輸入「java CharSample」運行Java程序,命令行窗口顯示如下信息:
  • Java之File類的構造方法
    各位小夥伴們大家好,在之前的文章中,小編介紹了Java之File類的簡單介紹,File類的靜態成員變量,這次小編要介紹的是File類的構造方法小編先來介紹一下構造方法1:File(String pathname)通過給定路徑名字符串轉換為抽象路徑名來創建一個新File實例參數:String pathname:字符串的路徑名稱路徑可以是以文件結尾
  • Java之Random類的簡單介紹
    各位小夥伴這次小編要介紹的是Random類,它是用來形成隨機數字的,使用Random有三個步驟,與之前講的Scanner類差不多。第一步,導包:import java.util.Random第二步,創建:Random a=new Random();小括號是可以留空的第三步,使用:如果要獲取一個隨機數int數字(範圍是int所有範圍,有正負兩種):int num=a.nextInt();為了方便大家的理解,小編就先粘幾行代碼,是一個比較簡單的猜數字小遊戲,代碼如下:
  • Java字符串地查找操作
    在一個字符串中查找字符或子串是經常使用的操作。String類提供了兩種查找字符串的方法,分別是indexOf()和lastIndexOf(),這兩種方法都返回待查找字符或子串在字符串的起始索引位置。int indexOf(String s)該方法用於在字符串中查找與s字符串匹配的子串,若發現匹配的子串,則返回子串的起始位置索引,如果沒有找到與s匹配的子串,返回-1。調用語法如下:str.indexOf(s)其中,str是已創建的字符串對象,s待查找的字符串。
  • 2020年Java基礎高頻面試題匯總
    從底層源碼來看是一個nal類型的字符數組,所引用的字符串不能被改變,一經定義,無法再增刪改。每次對String的操作都會生成新的String對象。private final char value[];每次+操作 :隱式在堆上new了一個跟原字符串相同的StringBuilder對象,再調用append方法 拼接+後面的字符。
  • 從String中移除空白字符的多種方式!?差別竟然這麼大!
    我們在日常開發時候會經常使用字符串做很多的操作。比如字符串的拼接、截斷、替換等。 這一篇文章,我們介紹一個比較常見又容易被忽略的一個操作,那就是移除字符串中的空格。 其實,在Java中從字符串中刪除空格有很多不同的方法,如trim,replaceAll等。
  • Java如何實現長圖文生成
    長圖文生成 很久很久以前,就覺得微博的長圖文實現得非常有意思,將排版直接以最終的圖片輸出,收藏查看分享都很方便,現在則自己動手實現一個簡單版本的 目標 首先定義下我們預期達到的目標Math.max(bufferedImage.getHeight() + options.getBottomPadding() + options.getTopPadding(), BASE_ADD_H),                 null);     } else if (result.getHeight() < contentH + bufferedImage.getHeight(
  • Java之抽象方法的使用與及接口中抽象方法的簡單介紹
    各位小夥伴們大家好,這次小編要介紹的是Java當中的接口,什麼是接口呢?接口就是多個類的公共規範,是一中引用數據類型,最重要的內容就是其中的抽象方法。public interface 接口名稱{//接口內容}備註:換成關鍵字interface之後,編譯生成的字節碼文件仍然是:.java-->.class接口中包含的內容有
  • Java反射機制深入詳解
    ()字節碼已經加載到java虛擬機中,去得到字節碼;java虛擬機中還沒有生成字節碼 用類加載器進行加載,加載的字節碼緩衝到虛擬機中。考慮下面這個簡單的例子,讓我們看看 reflection 是如何工作的。
  • Java常見內存溢出異常分析
    下面我們通過如下的代碼來演示一下此種情況的溢出:   [java] view plain copyimport java.util.*;   import java.lang.   [java] view plain copyimport java.util.*;   import java.lang.
  • Java8 lambda表達式語法
    本文是該系列的第一篇,主要介紹Java8對屌絲碼農最有吸引力的一個特性—lambda表達式。java8的安裝工欲善其器必先利其器,首先安裝JDK8。過程省略,大家應該都可以自己搞定。但是有一點這裡強調一下(Windows系統):目前我們工作的版本一般是java 6或者java 7,所以很多人安裝java8基本都是學習為主。這樣就在自己的機器上會存在多版本的JDK。
  • Go語言學習筆記之字符串一
    Go語言是一個年輕人,身上擁有c++,java,python等語言的特點。在網絡通信、並發和並行編程擁有極好的體驗,當然不僅僅在這上上面,還有網絡編程,web應用,應用下載等有著非常大的潛力。\ fmt.Println("\nContains函數判斷字符串包含關係:") str4 := "Ajian loves python and goland" fmt.Println(str4) fmt.Println(strings.Contains(str4,"jian")) //Index 函數是返回某字符在字符串的下標,在字符串裡面返回下標,否則-1(註:返回的是首次出現的下標)
  • (提高Java代碼質量)|25個優化Java代碼的小技巧
    反例:4.集合初始化儘量指定大小java 的集合類用起來十分方便,但是看源碼可知,集合也是有大小限制的。每次擴容的時間複雜度很有可能是 O(n) ,所以儘量指定可預知的集合大小,能減少集合的擴容次數。反例:正例:5.字符串拼接使用 StringBuilder一般的字符串拼接在編譯期 java 會進行優化,但是在循環中字符串拼接,java 編譯期無法做到優化,所以需要使用 StringBuilder 進行替換。
  • 給JAVA程式設計師的正則表達式一課
    正則基礎正則表達式(Regex,簡稱RE)是一種根據字符串集中的每個字符串的共同特徵來描述字符串集的方法。可用於搜索,編輯或處理文本和數據。簡單來說,正則表達式是幫助我們根據特定格式驗證或匹配字符串的方式。可以類比資料庫的SQL語言,sql是搜索數據,RE是搜索字符串。正則表達式和SQL語言是開發界的兩個偉大發明。
  • java操作ES整個流程介紹
    一 準備工作下載elasticsearch-6.7.0和展示ES數據的界面工具elasticsearch-head-master,本人電腦已安裝IntelliJ IDEA 2019.3 x64的java工具。簡單點,我們直接按默認配置學習。windows直接點擊elasticsearch.bat啟動ES。
  • JAVA專業術語面試100問
    4、java有哪些基本數據類型?5、數組有沒有length()方法?String有沒有length()方法?數組沒有length()方法,它有length屬性。String有length()方法。StringBuilder:適用於單線程下在字符緩衝區進行大量操作的情況(是線程不安全的)StringBuffer:適用多線程下在字符緩衝區進行大量操作的情況(一般很少)(是線程安全的)首先說運行速度,或者說是執行速度,在這方面運行速度快慢為:StringBuilder >
  • 數據結構java面試題及答案
    如果你從鍊表中去掉一個節點,剩下的數據結構仍然是鍊表,因此,許多鍊表問題有比遍歷更簡單的遞歸解決方案.下面是一些最常見和流行的鍊表面試問題1、在一次遍歷中,怎樣發現單個鍊表的中間元素?2、怎樣驗證給定的鍊表是環形的?怎樣發現這個環的起始節點?3、怎樣翻轉鍊表?4、不使用遞歸,怎樣反轉單個鍊表?