從 character-input 流讀取文本,緩衝字符,以便高效讀取字符、數組和行。可以指定緩衝區大小,也可以使用默認大小。默認值足夠大,足以滿足大多數用途。一般來說,讀取器發出的每個讀取請求都會導致對底層字符或字節流發出相應的讀取請求。因此,建議將 BufferedReader 包裝在 read() 操作可能成本高昂的任何 Reader 周圍,例如 FileReaders 和 InputStreamReaders。使用 DataInputStreams 進行文本輸入的程序可以通過將每個 DataInputStream 替換為適當的 BufferedReader 來本地化。
BufferedReader 類的構造函數
構造函數 | 執行的操作 |
---|---|
BufferedReader(Reader in) | 創建使用 default-sized 輸入緩衝區的緩衝 character-input 流 |
BufferedReader(Reader in, int sz) | 創建使用指定大小的輸入緩衝區的緩衝 character-input 流。 |
Methods of BufferedReader Class
方法名稱 | 行動 |
---|---|
BufferedReader close() | 關閉流並釋放與其關聯的所有係統資源。關閉流後,進一步的 read()、ready()、mark()、reset() 或 skip() 調用將引發 IOException。關閉之前關閉的流沒有任何效果。 |
BufferedReader mark() | 標記流中的當前位置。對 reset() 的後續調用將嘗試將流重新定位到該點。 |
BufferedReader markSupported() | 告知此流是否支持 mark() 操作(它確實支持)。 |
BufferedReader read() | 讀取單個字符。 |
讀取(char[] cbuf,int 關閉,int len) | 將字符讀入數組的一部分。該方法實現了 Reader 類相應的 read 方法的通用契約。作為一個額外的便利,它嘗試通過重複調用底層流的 read 方法來讀取盡可能多的字符。 |
BufferedReader readLine() | 讀取一行文本。一行被視為以換行符 (‘\n’)、回車符 (‘\r’) 或回車符後緊跟換行符之一終止。 |
BufferedReader ready() | 告知該流是否已準備好讀取。 |
BufferedReader reset() | 將流重置為最新標記。 |
BufferedReader skip(long) | 跳過字符。 |
實現:文件內內容如下:
This is first line this is second line
示例
Java
// Java Program to Illustrate BufferedReader Class
// Via Its Methods
// Importing required classes
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
// Class
class GFG {
// Main driver method
public static void main(String[] args)
throws IOException
{
// Creating object of FileReader and BufferedReader
// class
FileReader fr = new FileReader("file.txt");
BufferedReader br = new BufferedReader(fr);
char c[] = new char[20];
// Illustrating markSupported() method
if (br.markSupported()) {
// Print statement
System.out.println(
"mark() method is supported");
// Illustrating mark method
br.mark(100);
}
// File Contents is as follows:
// This is first line
// this is second line
// Skipping 8 characters
br.skip(8);
// Illustrating ready() method
if (br.ready()) {
// Illustrating readLine() method
System.out.println(br.readLine());
// Illustrating read(char c[],int off,int len)
br.read(c);
for (int i = 0; i < 20; i++) {
System.out.print(c[i]);
}
System.out.println();
// Illustrating reset() method
br.reset();
for (int i = 0; i < 8; i++) {
// Illustrating read() method
System.out.print((char)br.read());
}
}
}
}
輸出:
mark() method is supported first line this is second line This is
相關用法
- Java Java.io.BufferedReader.Close()用法及代碼示例
- Java Java.io.BufferedReader.mark()用法及代碼示例
- Java Java.io.BufferedReader.markSupported()用法及代碼示例
- Java Java.io.BufferedReader.read()用法及代碼示例
- Java Java.io.BufferedReader.readline()用法及代碼示例
- Java Java.io.BufferedReader.ready()用法及代碼示例
- Java Java.io.BufferedReader.reset()用法及代碼示例
- Java Java.io.BufferedReader.skip()用法及代碼示例
- Java Java.io.BufferedInputStream.available()用法及代碼示例
- Java Java.io.BufferedInputStream.close()用法及代碼示例
- Java Java.io.BufferedInputStream.read()用法及代碼示例
- Java Java.io.BufferedInputStream.reset()用法及代碼示例
- Java Java.io.BufferedInputStream.skip()用法及代碼示例
- Java Java.io.BufferedOutputStream.flush()用法及代碼示例
- Java Java.io.BufferedOutputStream.Write()用法及代碼示例
- Java Java.io.BufferedWriter.close()用法及代碼示例
- Java Java.io.BufferedWriter.flush()用法及代碼示例
- Java Java.io.BufferedWriter.newLine()用法及代碼示例
- Java Java.io.BufferedWriter.write()用法及代碼示例
- Java Java.io.BufferedOutputStream用法及代碼示例
- Java Java.io.BufferedInputStream用法及代碼示例
- Java Java.io.ByteArrayInputStream.available()用法及代碼示例
- Java Java.io.ByteArrayInputStream.close()用法及代碼示例
- Java Java.io.ByteArrayInputStream.mark()用法及代碼示例
- Java Java.io.ByteArrayInputStream.read()用法及代碼示例
注:本文由純淨天空篩選整理自佚名大神的英文原創作品 Java.io.BufferedReader Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。