天天看點

Java複習第四天---IO流

處理流之一:緩沖流:

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:打開以便讀取和寫入;同步檔案内容和中繼資料的更新