處理流之一:緩沖流:
BufferedInputStream 和 BufferedOutputStream
BufferedReader 和 BufferedWriter
處理流之二:轉換流:
轉換流提供了在位元組流和字元流之間的轉換
Java API提供了兩個轉換流:
InputStreamReader和OutputStreamWriter
位元組流中的資料都是字元時,轉成字元流操作更高效。
處理流之三:對象流:
ObjectInputStream和OjbectOutputSteam
用于存儲和讀取基本資料類型資料或對象的處理流。它的強大之處就是可以把Java中的對象寫入到資料源中,也能把對象從資料源中還原回來。
序列化:用ObjectOutputStream類儲存基本類型資料或對象的機制
反序列化:用ObjectInputStream類讀取基本類型資料或對象的機制
ObjectOutputStream和ObjectInputStream不能序列化static和transient修飾的成員變量
RandomAccessFile類:
RandomAccessFile 類支援 “随機通路” 的方式,程式可以直接跳到檔案的任意地方來讀、寫檔案
支援隻通路檔案的部分内容
可以向已存在的檔案後追加内容
RandomAccessFile 對象包含一個記錄指針,用以标示目前讀寫處的位置。RandomAccessFile 類對象可以自由移動記錄指針:
long getFilePointer():擷取檔案記錄指針的目前位置
void seek(long pos):将檔案記錄指針定位到 pos 位置
構造器
public RandomAccessFile(File file, String mode)
public RandomAccessFile(String name, String mode)
建立 RandomAccessFile 類執行個體需要指定一個 mode 參數,該參數指定 RandomAccessFile 的通路模式:
r: 以隻讀方式打開
rw:打開以便讀取和寫入
rwd:打開以便讀取和寫入;同步檔案内容的更新
rws:打開以便讀取和寫入;同步檔案内容和中繼資料的更新