其他分享
首页 > 其他分享> > 练习_对文本的内容进行排序

练习_对文本的内容进行排序

作者:互联网

对文本的内容进行排序

按照(1,2,3.....)顺序排序

分析:

  1.创建一个HashMap集合对象,可以:存储每行文本的序号(1,2,3…);value:存储每行的文本

  2.创建字符缓冲输入流对象,构造方法中绑定字符输入流

  3.创建字符缓冲输出流对象,构造方法中绑定字符输入流

  4.使用字符缓冲输入流中的方法readLine,逐行读取文本

  5.对读取的文本进行切割,获取行中的序号和文本内容

  6.把切割好的序号和文本内容存储到HashMap集合中(key序号是有序的,会自动排序1,2,3…)

  7.遍历HashMap,获取每一个键值对

  8.把每一个键值对拼接为一个文本行

  9.把拼接好的文本,使用字符缓冲输出流中的方法write,写入到文本中

  10.释放资源

    public static void main(String[] args) throws IOException {
        //  1.创建一个HashMap集合对象,可以:存储每行文本的序号(1,2,3…);value:存储每行的文本
        HashMap<String, String> map = new HashMap<>();
        //2.创建字符缓冲输入流对象,构造方法中绑定字符输入流
        BufferedReader reader = new BufferedReader(new FileReader("a.txt"));
        //3.创建字符缓冲输出流对象,构造方法中绑定字符输入流
        BufferedWriter writer = new BufferedWriter(new FileWriter("c.txt"));
        //4.使用字符缓冲输入流中的方法readLine,逐行读取文本
        String line;
        while ((line=reader.readLine())!=null){
            //5.对读取的文本进行切割,获取行中的序号和文本内容
            String[] arr = line.split("\\.");
            //6.把切割好的序号和文本内容存储到HashMap集合中(key序号是有序的,会自动排序1,2,3…)
            map.put(arr[0],arr[1]);
        }
        //7.遍历HashMap,获取每一个键值对
        for (String key : map.keySet()) {
            String s = map.get(key);
            //8.把每一个键值对拼接为一个文本行
            line = key +"."+s;
            //9.把拼接好的文本,使用字符缓冲输出流中的方法write,写入到文本中
            writer.write(line);
            writer.newLine();//写换行
        }
        //10.释放资源
        reader.close();
        writer.close();
    }

 

没排序之前:

 

 排序后:

 

标签:字符,文本,HashMap,缓冲,练习,序号,排序
来源: https://www.cnblogs.com/aqhk/p/16498155.html