import java.io.*;
import java.util.ArrayList;
public class test04 {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("yyy.txt"));
ArrayList<String> list = new ArrayList<>();
String line;
while((line = br.readLine())!=null){
list.add(line);
}
int i;
for (i=list.size()-1;i>=0;i--){
bw.write(list.get(i));
bw.newLine();
}
br.close();
bw.close();
}
}
整体思路:
1、创建输入输出流
2、创建集合
3、将数据读入集合
4、将集合里的元素倒着遍历出来
5、关流
注意
1、 BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));这种形式的写法,br.read返回的是String类型。在定义集合的泛型时,要定义String类型。
2、对于集合而言,根据索引,得出值,是list.get(i)
以上代码,最令人纠结的是,采用的集合是那种!最终选中了collection的子集ArrayList,因为ArrayList增删元素方便,遍历也方便,关键是还有索引值。