RandomAccessFile 對檔案隨機訪問

2021-06-22 17:54:46 字數 2071 閱讀 1320

檔案是什麼:

檔案中儲存的是資料

任何檔案都是有byte資料組成的有序的數列

byte資料:是檔案的最小(原子、不可在分)單位

1)new randomaccessfile(file file,string mode)

2)new randomaccessfile(string filename,string mode)

解析randomaccessfile構造方法引數:第乙個引數是需要訪問的檔案,而第二個引數則是訪問模式

訪問模式(mode) |--」r」    唯讀模式  若檔案不存在,會拋filenotfoundexception  (系統找不到指定檔案)

|--」rw」  讀寫模式  若檔案不存在,會自動建立

若設定為讀寫模式該檔案的訪問就是即可讀又可寫。

2.1 、void write(int d)方法:該方法會根據當前指標所在位置寫入乙個位元組。是將引數int的「低8位」寫出。

2.2、int read()方法:該方法會從檔案中讀取乙個byte(8位)填充到int的低8位,高24位為0。返回值範圍正         數:0~255。如果返回-1表示讀取到了檔案末尾!每次讀取後自動移動檔案指標,準備下次讀取。

2.3、void write(byte d)方法:該方法會根據當前指標所在位置處連續寫出給定陣列中的所有位元組。

2.4、void write(byte d,int offset,int len)方法:該方法會根據當前指標所在位置處連續寫出給定陣列中       的部分位元組,這部分是從陣列的offset的開始連續len個位元組。

2.5、int read(byte b)方法:該方法會從指標位置處嘗試最多讀取給定陣列的總長度,並從給定的位元組陣列第        乙個位置開始,將讀取到的位元組順序放置陣列中,返回值為實際讀取到的位元組量。

2.6、close():randomaccessfile在對檔案訪問的操作全部結束要呼叫close()方法來釋放與其他關聯的所有系      統資源。

/** 1)使用randomaccessfile的write方法向檔案raf.dat寫入數字「1」 */

/**2)使用randomaccessfile的read方法從檔案raf.dat中將數字「1」讀取出來並列印到控制台

* @throws ioexception */

@test

public void testwrite() throws ioexception

@test

public void testread() throws ioexception

raf.close();

}

/**1)使用randomaccessfile的write(byte)方法向檔案raf.dat寫入字串「helloworld」*/

/**2)使用randomaccessfile的read(byte)方法從檔案raf.dat中將字串「helloworld」取

* 出來並列印到控制台

* @throws ioexception */

@test

public void testwritebytearray() throws ioexception

@test

public void testreadbytearray() throws ioexception

3.1、long getfilepointe()方法:該方法獲得當前randomaccessfile指標位置,開啟檔案是預設指標位置在0。

3.2、void seek(long pos)方法:該方法移動當前randomaccessfile的指標位置。

3.3、int skipbytes(int n)方法:該方法跳過輸入的n個位元組以丟棄跳過的位元組。此3方法不出eofexception

(檔案結束異常)。返回結果是跳過實際位元組數。如果n為負數,則不跳過任何位元組。

@test

public void testgetfilepointer() catch (filenotfoundexception e) catch(ioexception e)

}

RandomAccessFile隨機訪問分割檔案

分割檔案 author administrator public class spiltfile public spiltfile string filepath 呼叫這個構造 public spiltfile string filepath,long blocksize public void i...

RandomAccessFile 隨機訪問檔案類

randomaccessfilepublic class randomaccessfile implements dataoutput datainput,closeablerandomaccessfile 類繼承於object,並實現介面datainput和dataoutput中定義的讀取 輸出基...

RandomAccessFile 檔案斷點拷貝

檔案正常拷貝過程中,由於客觀原因出現異常,導致拷貝中途停止 下一次拷貝時讀取目標檔案中上次拷貝的終止位置,將檔案指標設定到該位置,繼續拷貝。file file newfile c users k u n desktop 35.mp4 file target newfile io lesson fil...