Java隨機訪問流RandomAccessFile用法示例
阿新 • • 發佈:2018-12-02
Java隨機訪問流RandomAccessFile用法示例
Java寫一個檔案, 寫入26個小寫字母,再開啟這個檔案, 把前10個換成大寫字母,後10個替換為數字字元.
這裡主要是用RandomAccessFile隨機訪問流來處理這個問題:
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 寫一個檔案, 寫入26個小寫字母,再開啟這個檔案, 把前10個換成大寫字母,後10個替換為數字字元.
*/
public class Test5 {
public static void main(String[] args) throws IOException {
File file = new File("text5.txt");
RandomAccessFile raf = new RandomAccessFile(file, "rw");
for (int i = 0; i < 26; i++) {
raf.write('a' + i); // 迴圈寫入26個小寫字母
}
byte[] temp = new byte[10];
raf.seek(0 );
raf.read(temp, 0, 10);// 從0位置讀取10個位元組的資料存入temp位元組陣列
raf.seek(0);
for (long i = 0; i < 10; i++) {
raf.write(temp[(int) i] - 32);// 從0位置迴圈寫入大寫字母
}
long pos = raf.length() - 10;
raf.seek(pos);
raf.read(temp, 0, 10);// 從pos位置讀取10個位元組資料到temp位元組陣列
raf.seek(pos);
for (long i = 0; i < 10; i++) {
// 迴圈寫入字元轉化的數字
raf.writeBytes(String.valueOf((int) temp[(int) i]));
}
raf.close();
}
}