Java随机访问流RandomAccessFile用法示例

写一个文件, 写入26个小写字母,再打开这个文件, 把前10个换成大写字母,后10个替换为数字字符.
这里主要是用RandomAccessFile随机访问流来处理这个问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

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();
}
}
-------------本文结束感谢您的阅读-------------