IO流之RandomAccessFile隨機讀寫類

2021-09-25 20:50:04 字數 1861 閱讀 7864

1.可以操作檔案

2.按照位元組操作,位元組流

3.read讀和write寫都是此類中的api方法

4.能夠通過seek()方法隨意移動檔案的指標

randomaccessfile類對檔案的隨機訪問有兩種模式

唯讀模式

讀寫模式

1.建立物件

randomaccessfile(file file,string mode);

建立從中讀取和向其中寫入的隨機訪問流,檔案通過file指定,模式通過string指定

randomaccessfile(string file,string mode)

建立從中讀取和向其中寫入的隨機訪問流,檔案通過string指定,模式通過string指定

mode的取值:

"r" 唯讀模式 read

"rw" 讀寫模式 read write

2.寫入操作

void write(int b)

此方法會根據當前指標所在位置處寫入乙個位元組,只能使用整型的低8位

void write(byte b)

此方法會根據當前指標所在位置處寫入一組位元組

void write(byte b ,int offset , int len)

將len個位元組從指定的byte陣列寫入檔案,並從偏移量offset處開始

3.讀取操作

int read()

從檔案中讀取出乙個byte位元組,填充到整型的低8位如果返回-1,表示

讀取到檔案的末尾 eof end of file

int read(byte b)

從指標指向的位置開始讀取若干位元組,儲存到位元組陣列中,將讀取的位元組

按照順序放在位元組陣列相對應的位置上

返回值為讀取到位元組數,也可以說成長度

返回值為-1,則讀取到檔案的末尾

int read(byte b , int offset , int len)

將最多len個資料位元組從檔案中讀入byte陣列中,並從便宜量offset處開始儲存

4.void getfilepointer()

返回此檔案中的當前偏移量
5.void seek(long position)

設定到此檔案開頭0到檔案指標偏移量,在該位置發生下一處讀取或寫入操作
int skipbytest(int n)

用此方法可以跳過一些少量的位元組,可以是整數(如果是負數或零就不進行跳過)
/**

*此方法是把檔案讀入記憶體

*/public arraylist<

byte

>

testmethod1()

throws exception

else

} raf.

close()

;return al;

}/**

*此方法是把記憶體寫到本地

*/@test

public

void

testmethod2()

throws exception

else

}

IO流之字元流

字元流是為了方便我們讀寫文字檔案,在換句話說,字元流只能讀寫文字檔案,其他型別的檔案讀寫不了。outputstreamwriter 是字元流通向位元組流的橋梁 可使用指定的 charset 將要寫入流中的字元編碼成位元組。它使用的字符集可以由名稱指定或顯式給定,否則將接受平台預設的字符集。使用編碼表...

IO流之字元流

字元流產生的原因 1.每次只能夠讀取乙個位元組或者乙個位元組陣列,每次在需要轉換成字元或者字串的時候不是很方便 2.不同的作業系統針對換行符的處理不方便 3.有的時候會出現中文亂碼 中文佔兩個位元組,如果針對中文中某個位元組做了轉換或者顯示,就會出現亂碼 4.如果需要讀取某一行資料,非常不方便 編碼...

IO之字元流

在程式中乙個字元等於兩個位元組。1 字元輸出流 writer 抽象類,需要通過filewriter子類進行例項化 public filewriter file file throws ioexcrption writer類的常用方法 public abstract void close 0 thro...