新聞中心
BufferedReader

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、清豐ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的清豐網(wǎng)站制作公司
java.lang.Object
|---java.io.Reader
|---|---java.io.BufferedReader
public class BufferedReader
extends Reader從字符輸入流中讀取文本,緩沖字符,以便高效讀取字符、數(shù)組和行。
可以指定緩沖區(qū)大小,也可以使用默認(rèn)大小。 對于大多數(shù)用途,默認(rèn)值足夠大。
通常,由 Reader 發(fā)出的每個(gè)讀取請求都會(huì)導(dǎo)致對底層字符或字節(jié)流發(fā)出相應(yīng)的讀取請求。 因此,建議將 BufferedReader 包裝在 read() 操作可能成本高昂的任何 Reader 周圍,例如 FileReaders 和 InputStreamReaders。 例如,
BufferedReader in
= new BufferedReader(new FileReader("foo.in"));將緩沖來自指定文件的輸入。 如果沒有緩沖,每次調(diào)用 read() 或 readLine() 都可能導(dǎo)致從文件中讀取字節(jié),轉(zhuǎn)換為字符,然后返回,這可能非常低效。
使用 DataInputStreams 進(jìn)行文本輸入的程序可以通過將每個(gè) DataInputStream 替換為適當(dāng)?shù)?BufferedReader 來本地化。
Since:
JDK1.1
字段摘要
| 從類 java.io.Reader 繼承的字段 |
|---|
| lock |
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| BufferedReader(Reader in) | 創(chuàng)建一個(gè)使用默認(rèn)大小的輸入緩沖區(qū)的緩沖字符輸入流。 |
| BufferedReader(Reader in, int sz) | 創(chuàng)建一個(gè)使用指定大小的輸入緩沖區(qū)的緩沖字符輸入流。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| void | close() | 關(guān)閉流并釋放與其關(guān)聯(lián)的任何系統(tǒng)資源。 |
| StreamString | lines() | 返回一個(gè) Stream,其元素是從此 BufferedReader 讀取的行。 |
| void | mark(int readAheadLimit) | 標(biāo)記流中的當(dāng)前位置。 |
| boolean | markSupported() | 告訴這個(gè)流是否支持 mark() 操作,它支持。 |
| int | read() | 讀取單個(gè)字符。 |
| int | read(char[] cbuf, int off, int len) | 將字符讀入數(shù)組的一部分。 |
| String | readLine() | 讀取一行文本。 |
| boolean | ready() | 告訴這個(gè)流是否準(zhǔn)備好被讀取。 |
| void | reset() | 將流重置為最新標(biāo)記。 |
| long | skip(long n) | 跳過字符。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 從類 java.io.Reader 繼承的方法 |
|---|
| read, read |
構(gòu)造函數(shù)詳細(xì)信息
BufferedReader
public BufferedReader(Reader in, int sz)
創(chuàng)建一個(gè)使用指定大小的輸入緩沖區(qū)的緩沖字符輸入流。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| in | 輸入流 |
| sz | 輸入緩沖區(qū)大小 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 sz <= 0 |
BufferedReader
public BufferedReader(Reader in)
創(chuàng)建一個(gè)使用默認(rèn)大小的輸入緩沖區(qū)的緩沖字符輸入流。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| in | 輸入流 |
方法詳情
read
public int read() throws IOException
讀取單個(gè)字符。
覆蓋:
在類輸入流中讀取
返回:
讀取的字符,為 0 到 65535 (0x00-0xffff) 范圍內(nèi)的整數(shù),如果已到達(dá)流的末尾,則為 -1
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
read
public int read(char[] cbuf, int off, int len) throws IOException
將字符讀入數(shù)組的一部分。
該方法實(shí)現(xiàn)了 Reader 類對應(yīng)的 [Reader#read(char], int, int) 方法的通用約定。 作為額外的便利,它嘗試通過重復(fù)調(diào)用底層流的讀取方法來讀取盡可能多的字符。 此迭代讀取將繼續(xù),直到滿足以下條件之一:
- 已讀取指定數(shù)量的字符,
- 底層流的read方法返回-1,表示文件結(jié)束,或者
- 底層流的 ready 方法返回 false,表示進(jìn)一步的輸入請求會(huì)阻塞。
如果對底層流的第一次讀取返回 -1 以指示文件結(jié)束,則此方法返回 -1。 否則,此方法返回實(shí)際讀取的字符數(shù)。
鼓勵(lì)但不要求此類的子類嘗試以相同的方式讀取盡可能多的字符。
通常,此方法從該流的字符緩沖區(qū)中獲取字符,并根據(jù)需要從底層流中填充它。 但是,如果緩沖區(qū)為空,標(biāo)記無效,并且請求的長度至少與緩沖區(qū)一樣大,則此方法將直接從底層流中讀取字符到給定數(shù)組中。 因此冗余的 BufferedReader 不會(huì)不必要地復(fù)制數(shù)據(jù)。
指定者:
在類讀取流中閱讀
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| cbuf | 目標(biāo)緩沖區(qū) |
| off | 開始存儲(chǔ)字符的偏移量 |
| len | 要讀取的最大字符數(shù) |
返回:
讀取的字符數(shù),如果已到達(dá)流的末尾,則為 -1
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
readLine
public String readLine() throws IOException
讀取一行文本。 一行被認(rèn)為是由換行符 ('\n')、回車符 ('\r') 或緊跟換行符的回車符中的任何一個(gè)終止的。
返回:
包含行內(nèi)容的字符串,不包括任何行終止字符,如果已到達(dá)流的末尾,則為 null
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
skip
public long skip(long n) throws IOException
跳過字符。
覆蓋:
skip 類輸入流
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| n | 要跳過的字符數(shù) |
返回:
實(shí)際跳過的字符數(shù)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 n 為負(fù)數(shù)。 |
| IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
ready
public boolean ready() throws IOException
告訴這個(gè)流是否準(zhǔn)備好被讀取。 如果緩沖區(qū)不為空,或者底層字符流已準(zhǔn)備好,則緩沖字符流已準(zhǔn)備好。
覆蓋:
準(zhǔn)備好類輸入流
返回:
如果保證下一個(gè) read() 不會(huì)阻塞輸入,則為 true,否則為 false。 請注意,返回 false 并不能保證下一次讀取將阻塞。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
markSupported
public boolean markSupported()
告訴這個(gè)流是否支持 mark() 操作,它支持。
覆蓋:
在閱讀器類中標(biāo)記支持
返回:
當(dāng)且僅當(dāng)此流支持標(biāo)記操作時(shí)才為 true。
mark
public void mark(int readAheadLimit) throws IOException
標(biāo)記流中的當(dāng)前位置。 對 reset() 的后續(xù)調(diào)用將嘗試將流重新定位到該點(diǎn)。
覆蓋:
在類輸入流中標(biāo)記
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| readAheadLimit | 在保留標(biāo)記的同時(shí)限制可以讀取的字符數(shù)。 在讀取達(dá)到此限制或超過此限制的字符后嘗試重置流可能會(huì)失敗。 大于輸入緩沖區(qū)大小的限制值將導(dǎo)致分配一個(gè)大小不小于限制的新緩沖區(qū)。 因此,應(yīng)謹(jǐn)慎使用較大的值。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IllegalArgumentException | 如果 readAheadLimit < 0 |
| IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
reset
public void reset() throws IOException
將流重置為最新標(biāo)記。
覆蓋:
在輸入流類中重置
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果流從未被標(biāo)記,或者標(biāo)記已失效 |
close
public void close() throws IOException
從班級復(fù)制的描述:讀者
關(guān)閉流并釋放與其關(guān)聯(lián)的任何系統(tǒng)資源。 關(guān)閉流后,進(jìn)一步的 read()、ready()、mark()、reset() 或 skip() 調(diào)用將引發(fā) IOException。 關(guān)閉以前關(guān)閉的流沒有效果。
指定者:
在接口 AutoCloseable 中關(guān)閉
指定者:
在接口Closeable中關(guān)閉
指定者:
關(guān)閉類輸入流
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
lines
public StreamString lines()
返回一個(gè) Stream,其元素是從此 BufferedReader 讀取的行。 Stream 是惰性填充的,即在終端流操作期間只讀發(fā)生。
終端流操作執(zhí)行過程中不得對閱讀器進(jìn)行操作。否則,終端流操作的結(jié)果是不確定的。
執(zhí)行終端流操作后,不能保證閱讀器將處于讀取下一個(gè)字符或行的特定位置。
如果在訪問底層 BufferedReader 時(shí)拋出 IOException,它將被包裝在 UncheckedIOException 中,該異常將從導(dǎo)致讀取發(fā)生的 Stream 方法中拋出。如果在關(guān)閉的 BufferedReader 上調(diào)用此方法,將返回一個(gè) Stream。該流上的任何需要在關(guān)閉后從 BufferedReader 讀取的操作都將導(dǎo)致拋出 UncheckedIOException。
返回:
提供此 BufferedReader 描述的文本行的 Stream
Since:
1.8
本文名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS BufferedReader
鏈接地址:http://m.fisionsoft.com.cn/article/dhhdsho.html


咨詢
建站咨詢
