存在文件test.txt 内容为:
窗前明月光
疑是地上霜
举头望明月
低头思故乡
读取文件内容之后,写到 test2.txt 文件中,要求的效果是:
test2.txt
低头思故乡
举头望明月
疑是地上霜
窗前明月光
package week4.javaday5;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class HomeWork2 {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
FileReader fileReader = new FileReader("D:\\Study\\test.txt");
bufferedReader = new BufferedReader(fileReader);
bufferedWriter = new BufferedWriter(new FileWriter("D:\\Study\\test2.txt"));
List<String> list = new ArrayList<>(); //用于存储读到的数据
String s = null;
while ((s = bufferedReader.readLine()) != null) {
list.add(s);
}
// do{
// list.add( bufferedReader.readLine());
// 不能这么写,这样写每判断一次是不是等于null就会执行一次左边的读一行操作,就会跳过一行,下次再读就是隔了一行再读的
// if (bufferedReader.readLine() == null) {
// break;
// }
// }while (true);
//按照行倒序写进test2中
for (int i = list.size() - 1; i >= 0; i--) {
bufferedWriter.write(list.get(i) + "\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
bufferedReader.close();
}
if (bufferedWriter != null) {
bufferedWriter.close();
}
}
}
}