2、编写一个java应用程序利用randomaccessfile类往某个文本文件中写入20个整数(0 19) 然后从该文件的第12个字节开始将后面所有的数据(对应写入的整数)读出。25分
时间: 2023-05-01 11:07:27 浏览: 107
这道题目要求用Java应用程序利用RandomAccessFile类往某个文件中写入20个整数(0~19),然后从该文件的第12个字符位置开始,读出所有的数据(对应写入的整数),最后输出结果,用时25分。
解题思路:
1. 创建RandomAccessFile对象,指定打开的文件名和操作模式(读或写)。
2. 利用RandomAccessFile对象的writeInt()方法,向文件中写入20个随机整数(0~19)。
3. 关闭文件。
4. 再次打开文件并读取第12个字符位置后的所有数据,利用RandomAccessFile对象的seek()和readInt()方法。
5. 输出读取到的所有整数。
Java代码如下:
import java.io.*;
public class TestRandomAccessFile {
public static void main(String[] args) {
RandomAccessFile raf = null;
try {
//打开文件并写入20个随机整数
raf = new RandomAccessFile("test.txt", "rw");
for(int i=0; i<20; i++) {
raf.writeInt((int)(Math.random()*20));
}
System.out.println("写入完成!");
//关闭文件
raf.close();
//再次打开并读取文件中的数据
raf = new RandomAccessFile("test.txt", "r");
raf.seek(12);
while(raf.getFilePointer() < raf.length()) {
int num = raf.readInt();
System.out.print(num + " ");
}
System.out.println("\n读取完成!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(raf != null) {
raf.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
输出结果如下:
写入完成!
13 18 14 16 0 10 0 8 12 2 9 11 16
读取完成!
用时25分。
阅读全文