使用随机文件流RandomAccessFile将一个文本文件倒置读出。
时间: 2024-01-27 20:48:38 浏览: 84
使用RandomAccessFile流将一个文本文件读出,并导致写入到另一个文件当中。
3星 · 编辑精心推荐
可以按照以下步骤实现:
1. 使用RandomAccessFile读取文件,将文件内容存储到一个byte数组中。
2. 将byte数组中的内容倒置。
3. 将倒置后的byte数组写入到一个新的文件中。
下面是一个示例代码:
```java
import java.io.*;
public class ReverseFile {
public static void main(String[] args) {
try {
// 打开文件
RandomAccessFile raf = new RandomAccessFile("test.txt", "r");
byte[] buf = new byte[(int)raf.length()];
// 读取文件内容到byte数组中
raf.read(buf);
// 关闭文件
raf.close();
// 将byte数组中的内容倒置
byte[] reverseBuf = new byte[buf.length];
for (int i = 0; i < buf.length; i++) {
reverseBuf[i] = buf[buf.length - i - 1];
}
// 创建新文件,将倒置后的内容写入到新文件中
FileOutputStream fos = new FileOutputStream("reverse.txt");
fos.write(reverseBuf);
fos.close();
System.out.println("文件已倒置并保存为reverse.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注意,上述代码可能无法处理非ASCII编码的文件。如果需要处理非ASCII编码的文件,可以使用Java的字符流来读取和写入文件。
阅读全文