java文件的随机读
时间: 2023-12-14 20:38:36 浏览: 25
在Java中,可以使用RandomAccessFile类来实现随机读取文件。以下是一个简单的例子:
```java
import java.io.*;
public class RandomAccessFileExample {
public static void main(String[] args) {
try {
// 创建RandomAccessFile对象,指定文件名和访问模式
RandomAccessFile file = new RandomAccessFile("test.txt", "r");
// 获取文件长度
long fileLength = file.length();
// 设置读取位置为文件末尾位置减去10个字节
file.seek(fileLength - 10);
// 定义缓冲区,并读取数据
byte[] buffer = new byte[10];
file.read(buffer);
// 输出读取到的数据
System.out.println(new String(buffer));
// 关闭文件
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个例子中,我们首先创建了一个RandomAccessFile对象,指定文件名和访问模式("r"表示只读)。然后获取文件长度,并设置读取位置为文件末尾位置减去10个字节。接下来定义一个缓冲区,并使用read()方法读取10个字节的数据,最后输出读取到的数据。最后关闭文件。
需要注意的是,RandomAccessFile类不支持Unicode编码,因此在读取文件时需要使用字节流。如果需要读取文本文件,可以在读取数据后使用new String(buffer, charsetName)将字节转换为字符串。其中charsetName为文本文件的编码格式,例如UTF-8、GBK等。