原文連結 作者: 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異常處理。