请用java编写,使用RandomAccessFile流将一个文本文件倒置读出
时间: 2023-07-20 20:15:11 浏览: 110
好的,以下是Java代码示例:
```java
import java.io.*;
public class ReverseFileReader {
public static void main(String[] args) {
try {
// 指定要读取的文本文件和要输出的文本文件
File inputFile = new File("input.txt");
File outputFile = new File("output.txt");
// 创建RandomAccessFile流,以读写方式打开输入文件
RandomAccessFile raf = new RandomAccessFile(inputFile, "rw");
// 获取输入文件的长度
long fileLength = inputFile.length();
// 设置指针位置为文件末尾
raf.seek(fileLength);
// 创建输出流
BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile));
// 反向读取文件内容
for (long pointer = fileLength - 1; pointer >= 0; pointer--) {
raf.seek(pointer);
char c = (char) raf.readByte();
bw.write(c);
}
// 关闭流
raf.close();
bw.close();
System.out.println("Reverse file successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码会将名为`input.txt`的文本文件中的内容倒置后输出到名为`output.txt`的文本文件中。请注意,这里假设输入文件中只包含文本字符,如果文件中包含其他类型的数据,可能需要进行特殊处理。
阅读全文