天天看點

Java IO: RandomAccessFile

原文連結 作者: jakob jenkov 譯者: 李璟([email protected])

randomaccessfile允許你來回讀寫檔案,也可以替換檔案中的某些部分。fileinputstream和fileoutputstream沒有這樣的功能。

</h2>

在使用randomaccessfile之前,必須初始化它。這是例子:

請注意構造函數的第二個參數:“rw”,表明你以讀寫方式打開檔案。請查閱java文檔獲知你需要以何種方式構造randomaccessfile。

在randomaccessfile的某個位置讀寫之前,必須把檔案指針指向該位置。通過seek()方法可以達到這一目标。可以通過調用getfilepointer()獲得目前檔案指針的位置。例子如下:

randomaccessfile中的任何一個read()方法都可以讀取randomaccessfile的資料。例子如下:

read()方法傳回目前randomaccessfile執行個體的檔案指針指向的位置中包含的位元組内容。java文檔中遺漏了一點:read()方法在讀取完一個位元組之後,會自動把指針移動到下一個可讀位元組。這意味着使用者在調用完read()方法之後不需要手動移動檔案指針。

randomaccessfile中的任何一個write()方法都可以往randomaccessfile中寫入資料。例子如下:

與read()方法類似,write()方法在調用結束之後自動移動檔案指針,是以你不需要頻繁地把指針移動到下一個将要寫入資料的位置。

為了本篇内容清晰,暫時忽略randomaccessfile異常處理的内容。randomaccessfile與其他流一樣,在使用完畢之後必須關閉。想要了解更多資訊,請參考java io異常處理。