<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Java `BufferedReader`類 > 原文: [https://www.programiz.com/java-programming/bufferedreader](https://www.programiz.com/java-programming/bufferedreader) #### 在本教程中,我們將借助示例學習 Java `BufferedReader`及其方法。 `java.io`包的`BufferedReader`類可與其他讀取器一起使用,以更有效地讀取數據(以字符為單位)。 它擴展了抽象類`Reader`。 ![The BufferedReader class is a subclass of Java Reader.](https://img.kancloud.cn/04/f6/04f6a7e3c6d7eb866f067ede0ad42b3a_396x372.png "Java Buffered Reader") * * * ## `BufferedReader`的工作原理 `BufferedReader`維護內部**緩沖區**,該緩沖區為 8192 個字符。 在`BufferedReader`中進行讀取操作期間,將從磁盤讀取一部分字符并將其存儲在內部緩沖區中。 并且從內部緩沖區中單獨讀取字符。 因此,減少了與磁盤的通信次數。 這就是使用`BufferedReader`讀取字符更快的原因。 * * * ## 創建一個`BufferedReader` 為了創建一個`BufferedReader`,我們必須首先導入`java.io.BuferedReader`包。 導入包后,就可以創建讀取器。 ```java // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); ``` 在上面的示例中,我們使用名為`file`的文件創建了名為`buffer`的`BufferedReader`。 此處,`BufferedReader`的內部緩沖區的默認大小為 8192 個字符。 但是,我們也可以指定內部緩沖區的大小。 ```java // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); ``` 緩沖區將有助于更快地從文件中讀取字符。 * * * ## `BufferedReader`的方法 `BufferedReader`類提供了`Reader`中存在的不同方法的實現。 ### `read()`方法 * `read()` - 從讀取器的內部緩沖區讀取單個字符 * `read(char[] array)` - 從讀取器讀取字符并將其存儲在指定的數組中 * `read(char[] array, int start, int length)` - 從讀取器中讀取等于`length`的字符數,并從位置`start`開始存儲在指定的數組中 例如,假設我們有一個名為`input.txt`的文件,其內容如下。 ```java This is a line of text inside the file. ``` 讓我們嘗試使用`BufferedReader`讀取文件。 ```java import java.io.FileReader; import java.io.BufferedReader; class Main { public static void main(String[] args) { // Creates an array of character char[] array = new char[100]; try { // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); } catch(Exception e) { e.getStackTrace(); } } } ``` **輸出** ```java Data in the file: This is a line of text inside the file. ``` 在上面的示例中,我們創建了一個名為`input`的緩沖讀取器。 緩沖的讀取器與`input.txt`文件鏈接。 ```java FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); ``` 在這里,我們已使用`read()`方法從緩沖讀取器的內部緩沖區讀取字符數組。 * * * ### `skip()`方法 要丟棄并跳過指定數量的字符,可以使用`skip()`方法。 例如, ```java import java.io.FileReader; import java.io.BufferedReader; public class Main { public static void main(String args[]) { // Creates an array of characters char[] array = new char[100]; try { // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); } catch (Exception e) { e.getStackTrace(); } } } ``` **輸出**: ```java Data after skipping 5 characters: is a line of text inside the file. ``` 在上面的示例中,我們使用`skip()`方法從文件讀取器中跳過 5 個字符。 因此,從原始文件中跳過了字符`'T'`,`'h'`,`'i'`,`'s'`和`' '`。 * * * ### `close()`方法 要關閉緩沖的讀取器,我們可以使用`close()`方法。 調用`close()`方法后,我們將無法使用讀取器讀取數據。 * * * ## `BufferedReader`的其他方法 | 方法 | 描述 | | `ready()` | 檢查文件讀取器是否準備好閱讀 | | `mark()` | 標記讀取器中已讀取數據的位置 | | `reset()` | 將控件返回到讀取器中設置標記的位置 | 要了解更多信息,請訪問 [Java `BufferedReader`(Java 官方文檔)](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/BufferedReader.html "Java BufferedReader (official Java documentation)")。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看