<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 格式化內存輸入 要讀取格式化數據,我們可以使用 `DataInputStream`,它是一個面向字節的 I/O 類(不是面向字符的)。這樣我們就必須使用 `InputStream` 類而不是 `Reader` 類。我們可以使用 `InputStream` 以字節形式讀取任何數據(比如一個文件),但這里使用的是字符串。 ```java // iostreams/FormattedMemoryInput.java // {VisuallyInspectOutput} import java.io.*; public class FormattedMemoryInput { public static void main(String[] args) { try ( DataInputStream in = new DataInputStream( new ByteArrayInputStream( BufferedInputFile.read( "FormattedMemoryInput.java") .getBytes())) ) { while (true) System.out.write((char) in.readByte()); } catch (EOFException e) { System.out.println("\nEnd of stream"); } catch (IOException e) { throw new RuntimeException(e); } } } ``` `ByteArrayInputStream` 必須接收一個字節數組,所以這里我們調用了 `String.getBytes()` 方法。所產生的的 `ByteArrayInputStream` 是一個適合傳遞給 `DataInputStream` 的 `InputStream`。 如果我們用 `readByte()` 從 `DataInputStream` 一次一個字節地讀取字符,那么任何字節的值都是合法結果,因此返回值不能用來檢測輸入是否結束。取而代之的是,我們可以使用 `available()` 方法得到剩余可用字符的數量。下面例子演示了怎么一次一個字節地讀取文件: ```java // iostreams/TestEOF.java // Testing for end of file // {VisuallyInspectOutput} import java.io.*; public class TestEOF { public static void main(String[] args) { try ( DataInputStream in = new DataInputStream( new BufferedInputStream( new FileInputStream("TestEOF.java"))) ) { while (in.available() != 0) System.out.write(in.readByte()); } catch (IOException e) { throw new RuntimeException(e); } } } ``` 注意,`available()` 的工作方式會隨著所讀取媒介類型的不同而有所差異,它的字面意思就是“在沒有阻塞的情況下所能讀取的字節數”。對于文件,能夠讀取的是整個文件;但是對于其它類型的“流”,可能就不是這樣,所以要謹慎使用。 我們也可以通過捕獲異常來檢測輸入的末尾。但是,用異常作為控制流是對異常的一種錯誤使用方式。
                  <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>

                              哎呀哎呀视频在线观看