参考例8,使用RandomAccessFile流将一个文本文件倒置读出。
时间: 2024-01-27 21:42:56 浏览: 79
使用RandomAccessFile流将一个文本文件读出,并导致写入到另一个文件当中。
3星 · 编辑精心推荐
以下是一个实现例子:
```java
import java.io.*;
public class ReverseFileReader {
public static void main(String[] args) throws IOException {
File file = new File("example.txt");
RandomAccessFile raf = new RandomAccessFile(file, "r");
long fileLength = file.length(); // 文件长度
StringBuilder sb = new StringBuilder();
for (long i = fileLength - 1; i >= 0; i--) {
raf.seek(i);
sb.append((char) raf.read());
}
System.out.println(sb.toString());
raf.close();
}
}
```
假设我们有一个文本文件`example.txt`,内容为:
```
Hello World!
How are you?
```
上述代码将以倒序方式读取该文件,并输出:
```
?uoy era woH
!dlroW olleH
```
实现原理是使用`RandomAccessFile`类的`seek()`方法定位到文件的指定位置,从后往前读取每个字符,并将它们添加到一个`StringBuilder`对象中。最后,我们输出`StringBuilder`对象的字符串形式,即为倒序读取的文件内容。
阅读全文