JAVA筆記之RandomAccessFile

老規矩,先上一段代碼:
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章