A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 武超0902 中级黑马   /  2015-10-8 21:17  /  521 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

* 将一个文本文档上的文本反转,第一行和倒数第一行交换,第二行和倒数第二行交换
案例:
package com.heima.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 Test1 {
        /**
         * @param args
         * 将一个文本文档上的文本反转,第一行和倒数第一行交换,第二行和倒数第二行交换
         *
         * 分析:
         * 1,创建输入输出流对象
         * 2,创建集合对象
         * 3,将读到的数据存储在集合中
         * 4,倒着遍历集合将数据写到文件上
         * 5,关流
         * @throws IOException
         *
         * 注意事项:
         * 流对象尽量晚开早关
         */
        public static void main(String[] args) throws IOException {
                //改写后是尽量晚开早关
                // 1,创建输入输出流对象
                BufferedReader br = new BufferedReader(new FileReader("zzz.txt"));
               
                //2,创建集合对象
                ArrayList<String> list = new ArrayList<>();
                //3,将读到的数据存储在集合中
                String line;
                while((line = br.readLine()) != null) {
                        list.add(line);
                }
                br.close();                                                                                        //关流
               
                //4,倒着遍历集合将数据写到文件上
                BufferedWriter bw = new BufferedWriter(new FileWriter("revzzz.txt"));
                for(int i = list.size() - 1; i >= 0; i--) {
                        bw.write(list.get(i));
                        bw.newLine();
                }
                //5,关流
               
                bw.close();
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马