<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                <!-- Off By Itself: RandomAccessFile --> ## RandomAccessFile類 `RandomAccessFile` 適用于由大小已知的記錄組成的文件,所以我們可以使用 `seek()` 將文件指針從一條記錄移動到另一條記錄,然后對記錄進行讀取和修改。文件中記錄的大小不一定都相同,只要我們能確定那些記錄有多大以及它們在文件中的位置即可。 最初,我們可能難以相信 `RandomAccessFile` 不是 `InputStream` 或者 `OutputStream` 繼承體系中的一部分。除了實現了 `DataInput` 和 `DataOutput` 接口(`DataInputStream` 和 `DataOutputStream` 也實現了這兩個接口)之外,它和這兩個繼承體系沒有任何關系。它甚至都不使用 `InputStream` 和 `OutputStream` 類中已有的任何功能。它是一個完全獨立的類,其所有的方法(大多數都是 `native` 方法)都是從頭開始編寫的。這么做是因為 `RandomAccessFile` 擁有和別的 I/O 類型本質上不同的行為,因為我們可以在一個文件內向前和向后移動。在任何情況下,它都是自我獨立的,直接繼承自 `Object`。 從本質上來講,`RandomAccessFile` 的工作方式類似于把 `DataIunputStream` 和 `DataOutputStream` 組合起來使用。另外它還有一些額外的方法,比如使用 `getFilePointer()` 可以得到當前文件指針在文件中的位置,使用 `seek()` 可以移動文件指針,使用 `length()` 可以得到文件的長度。另外,其構造器還需要傳入第二個參數(和 C 語言中的 `fopen()` 相同)用來表示我們是準備對文件進行 “隨機讀”(r)還是“讀寫”(rw)。它并不支持只寫文件,從這點來看,如果當初 `RandomAccessFile` 能設計成繼承自 `DataInputStream`,可能也是個不錯的實現方式。 在 Java 1.4 中,`RandomAccessFile` 的大多數功能(但不是全部)都被 nio 中的**內存映射文件**(mmap)取代,詳見[附錄:新 I/O](./Appendix-New-IO.md)。
                  <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>

                              哎呀哎呀视频在线观看