Java_基础—将文本反转

package com.sora.test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

public class Test4 {
    /*
     * 将一个文本文档上的文本反转,第一行和倒数第一行交换,第二行和倒数第二行交换
     * 分析:
     * ① 创建输入输出流对象 
     * ② 创建集合对象
     * ③ 将读到的数据存储在集合中
     * ④ 倒着遍历集合将数据写到文件上
     * ⑤ 关流
     * 
     * 注意事项:
     * 流对象要晚开早关
     */
    public static void main(String[] args) throws IOException {
        //改写后尽量晚开早关
        //① 创建输入输出流对象
        BufferedReader br = new BufferedReader(new FileReader("zzz.txt"));

        //② 创建集合对象
        ArrayList<String> list = new ArrayList<>();
        //③ 将读到的数据存储在集合中
        String line;
        while((line = br.readLine()) != null){
            list.add(line);
        }
        //用完要早关
        br.close();         
        //使用的时候再开,早凯
        BufferedWriter bw = new BufferedWriter(new FileWriter("revzzz.txt"));
        //④ 倒着遍历集合将数据写到文件上
        for (int i = list.size()-1; i >=0;i++) {
            bw.write(list.get(i));
            bw.newLine();
        }
        //⑤ 关流
        bw.close();
    }

}
posted @ 2017-07-25 20:17  Soar_Sir  阅读(400)  评论(0编辑  收藏  举报