我需要阅读此文本文件source.txt
并在此文本文件destination.txt
中反向编写内容。读写必须使用逐字节完成!
我使用BufferedReader
&做了这个练习。 BufferedWriter
它给你一个整行作为一个字符串,然后它很容易扭转它!
但我不知道如何使用逐字节以相反的顺序写入! 谢谢你的帮助!
source.txt
有此文:“操作系统”
destination.txt
上的结果应该与source.txt
相反:“smetsyS gnitarepO”
以下是代码:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException{
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("source.txt");
out = new FileOutputStream("destination.txt");
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
}
}
}
答案 0 :(得分:1)
您可以使用RandomAccesFile进行阅读:
...
in = new RandomAccessFile("source.txt", "r");
out = new FileOutputStream("destination.txt");
for(long p = in.length() - 1; p >= 0; p--) {
in.seek(p);
int b = in.read();
out.write(b);
}
...