import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileTest {
public static void main(String[] args) throws IOException{
File afile=new File("test.txt"); //創建一個文件路徑
if(!afile.exists()) //檢驗文件是否存在
afile.createNewFile(); //若不存在則在指定目錄下建立一個文件
RandomAccessFile rfile=new RandomAccessFile("test.txt", "rw"); //以能讀能寫的方式打開文件
rfile.write('A'); //要注意的是這裏只寫入每個字符的低八位
rfile.write('張');
byte[] abyte=new byte[(int) rfile.length()];
rfile.seek(0); //與C語言類似,把文件內部指針調到文件首
rfile.read(abyte);
for(byte e:abyte)
System.out.print(Integer.toHexString(e&0xff)+" "); //按每個字節輸出十六機制式的
rfile.close(); //最後不要忘了關閉文件
}
}
這裏首先要注意的是,write()方法一次只讀入一個字節,到最後如果是把整個abyte字符數組全部輸出的話,會得到一段亂碼。
到最後輸出:
41 20