RandomAccessFile 使用
时间: 2024-01-27 14:49:31 浏览: 37
RandomAccessFile 是 Java 中用于读写文件的一个类,它可以随意地读写文件的任意位置,而不像其他流一样只能顺序读写文件。
以下是 RandomAccessFile 的使用示例:
```java
import java.io.*;
public class RandomAccessFileDemo {
public static void main(String[] args) throws IOException {
// 创建 RandomAccessFile 对象
RandomAccessFile file = new RandomAccessFile("data.txt", "rw");
// 写入数据到文件中
file.writeBytes("Hello, World!");
file.writeInt(123);
file.writeDouble(3.14);
// 移动文件指针到文件开头
file.seek(0);
// 读取文件中的数据
String str = file.readLine();
int num = file.readInt();
double d = file.readDouble();
// 输出读取到的数据
System.out.println(str);
System.out.println(num);
System.out.println(d);
// 关闭 RandomAccessFile 对象
file.close();
}
}
```
在上面的例子中,我们首先创建了一个 RandomAccessFile 对象,指定了文件名和读写模式。然后我们向文件中写入了一些数据,包括一个字符串、一个整数和一个浮点数。接着,我们使用 seek() 方法将文件指针移动到文件开头,然后使用 readLine()、readInt() 和 readDouble() 方法从文件中读取数据。最后,我们输出读取到的数据,并关闭 RandomAccessFile 对象。
需要注意的是,在使用 RandomAccessFile 时需要注意文件指针的位置,否则可能会读取到错误的数据。另外,RandomAccessFile 也可以用于只读文件或只写文件,具体可以根据实际需求来选择读写模式。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)