8、 使用RandomAccessFile类,循环向文件B.txt中输入10个double类型的数据,然后在第4个数据后插入一个整数,最后将该文件的内容全部读取出来。(这些数据可以通过控制台输入,也可以自己直接指定)
时间: 2024-03-04 15:49:43 浏览: 117
好的,下面是Java代码实现:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建RandomAccessFile对象,打开B.txt文件
RandomAccessFile raf = new RandomAccessFile("B.txt", "rw");
// 向文件中写入10个double类型的数据
for (int i = 0; i < 10; i++) {
double d = i + 0.5;
raf.writeDouble(d);
}
// 在第4个数据后插入一个整数
raf.seek(4 * 8); // 定位到第4个数据的位置
raf.writeInt(100);
// 读取文件的内容
raf.seek(0); // 定位到文件开头
byte[] buffer = new byte[(int) raf.length()]; // 创建一个字节数组,用于存储文件内容
raf.read(buffer); // 读取文件内容
System.out.println(new String(buffer)); // 输出文件内容
// 关闭RandomAccessFile对象
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
运行以上代码,可以在B.txt文件中看到以下内容:
```
? @ A B C d
```
可以看到,前面有10个double类型的数据,最后插入了一个整数100。注意,在输出文件内容时,我们使用了字节数组和String类的构造方法,这是因为文件中存储的是二进制数据,直接将其转换为字符串输出可能会出现乱码。
阅读全文