鴻蒙OS BufferedWriter

2022-10-17 17:57 更新

BufferedWriter

java.lang.Object

|---java.io.Writer

|---|---java.io.BufferedWriter

public class BufferedWriter
extends Writer

將文本寫入字符輸出流,緩沖字符,以便高效寫入單個(gè)字符、數(shù)組和字符串。

可以指定緩沖區(qū)大小,也可以接受默認(rèn)大小。 對于大多數(shù)用途,默認(rèn)值足夠大。

提供了一個(gè) newLine() 方法,它使用系統(tǒng)屬性 line.separator 定義的平臺自己的行分隔符概念。 并非所有平臺都使用換行符 ('\n') 來終止行。 因此,調(diào)用此方法來終止每個(gè)輸出行優(yōu)于直接寫入換行符。

通常,Writer 將其輸出立即發(fā)送到底層字符或字節(jié)流。 除非需要快速輸出,否則建議將 BufferedWriter 包裝在任何 write() 操作可能代價(jià)高昂的 Writer 周圍,例如 FileWriters 和 OutputStreamWriters。 例如,

 PrintWriter out
   = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));

將 PrintWriter 的輸出緩沖到文件中。 如果沒有緩沖,每次調(diào)用 print() 方法都會導(dǎo)致字符轉(zhuǎn)換為字節(jié),然后立即寫入文件,這可能非常低效。

Since:

JDK1.1

字段摘要

從類 java.io.Writer 繼承的字段
lock

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
BufferedWriter(Writer out) 創(chuàng)建使用默認(rèn)大小的輸出緩沖區(qū)的緩沖字符輸出流。
BufferedWriter(Writer out, int sz) 創(chuàng)建一個(gè)使用給定大小的輸出緩沖區(qū)的新緩沖字符輸出流。

方法總結(jié)

修飾符和類型 方法 描述
void close() 關(guān)閉流,首先刷新它。
void flush() 沖洗流。
void newLine() 寫入行分隔符。
void write(char[] cbuf, int off, int len) 寫入字符數(shù)組的一部分。
void write(int c) 寫入單個(gè)字符。
void write(String s, int off, int len) 寫入字符串的一部分。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
從類 java.io.Writer 繼承的方法
append, append, append, write, write

構(gòu)造函數(shù)詳細(xì)信息

BufferedWriter

public BufferedWriter(Writer out)

創(chuàng)建使用默認(rèn)大小的輸出緩沖區(qū)的緩沖字符輸出流。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 輸入流

BufferedWriter

public BufferedWriter(Writer out, int sz)

創(chuàng)建一個(gè)使用給定大小的輸出緩沖區(qū)的新緩沖字符輸出流。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 輸入流
sz 輸出緩沖區(qū)大小,一個(gè)正整數(shù)

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果 sz <= 0

方法詳情

write

public void write(int c) throws IOException

寫入單個(gè)字符。

覆蓋:

在 Writer 類中寫

參數(shù):

參數(shù)名稱 參數(shù)描述
c int 指定要寫入的字符

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

write

public void write(char[] cbuf, int off, int len) throws IOException

寫入字符數(shù)組的一部分。

通常,此方法將給定數(shù)組中的字符存儲到此流的緩沖區(qū)中,并根據(jù)需要將緩沖區(qū)刷新到底層流。 但是,如果請求的長度至少與緩沖區(qū)一樣大,則此方法將刷新緩沖區(qū)并將字符直接寫入底層流。 因此冗余的 BufferedWriters 不會不必要地復(fù)制數(shù)據(jù)。

指定者:

在 Writer 類中寫

參數(shù):

參數(shù)名稱 參數(shù)描述
cbuf 一個(gè)字符數(shù)組
off 開始讀取字符的偏移量
len 要寫入的字符數(shù)

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

write

public void write(String s, int off, int len) throws IOException

寫入字符串的一部分。

如果 len 參數(shù)的值為負(fù)數(shù),則不寫入任何字符。 這與超類中該方法的規(guī)范相反,該規(guī)范要求拋出 IndexOutOfBoundsException。

覆蓋:

在 Writer 類中寫

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要寫入的字符串
off 開始讀取字符的偏移量
len 要寫入的字符數(shù)

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

newLine

public void newLine() throws IOException

寫入行分隔符。 行分隔符字符串由系統(tǒng)屬性 line.separator 定義,不一定是單個(gè)換行符 ('\n')。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

flush

public void flush() throws IOException

沖洗流。

指定者:

在接口 Flushable 中刷新

指定者:

在 Writer 類中刷新

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

close

public void close() throws IOException

從班級復(fù)制的描述:Writer

關(guān)閉流,首先刷新它。 一旦流被關(guān)閉,進(jìn)一步的 write() 或 flush() 調(diào)用將導(dǎo)致拋出 IOException。 關(guān)閉以前關(guān)閉的流沒有效果。

指定者:

在接口 AutoCloseable 中關(guān)閉

指定者:

在接口Closeable中關(guān)閉

指定者:

關(guān)閉類Writer

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號