天天看點

Java IO: 檔案

在java應用程式中,檔案是一種常用的資料源或者存儲資料的媒介。是以這一小節将會對java中檔案的使用做一個簡短的概述。這篇文章不會對每一個技術細節都做出解釋,而是會針對檔案存取的方法提供給你一些必要的知識點。在之後的文章中,将會更加詳細地描述這些方法或者類,包括方法示例等等。

如果你需要在不同端之間讀取檔案,你可以根據該檔案是二進制檔案還是文本檔案來選擇使用fileinputstream或者filereader。這兩個類允許你從檔案開始到檔案末尾一次讀取一個位元組或者字元,或者将讀取到的位元組寫入到位元組數組或者字元數組。你不必一次性讀取整個檔案,相反你可以按順序地讀取檔案中的位元組和字元。

如果你需要跳躍式地讀取檔案其中的某些部分,可以使用randomaccessfile。

如果你需要在不同端之間進行檔案的寫入,你可以根據你要寫入的資料是二進制型資料還是字元型資料選用fileoutputstream或者filewriter。你可以一次寫入一個位元組或者字元到檔案中,也可以直接寫入一個位元組數組或者字元資料。資料按照寫入的順序存儲在檔案當中。

正如我所提到的,你可以通過randomaccessfile對檔案進行随機存取。

随機存取并不意味着你可以在真正随機的位置進行讀寫操作,它隻是意味着你可以跳過檔案中某些部分進行操作,并且支援同時讀寫,不要求特定的存取順序。這使得randomaccessfile可以覆寫一個檔案的某些部分、或者追加内容到它的末尾、或者删除它的某些内容,當然它也可以從檔案的任何位置開始讀取檔案。

有時候你可能需要讀取檔案的資訊而不是檔案的内容,舉個例子,如果你需要知道檔案的大小和檔案的屬性。對于目錄來說也是一樣的,比如你需要擷取某個目錄下的檔案清單。通過file類可以擷取檔案和目錄的資訊。