• 对文本的内容进行排序


    
    
    package com.itcast.demo05.Buffered;

    import java.io.*;
    import java.util.Collections;
    import java.util.HashMap;

    /**
    * @author newcityman
    * @date 2019/7/28 - 18:22
    * 练习:对文本的内容进行排序
    * 按照(1、2、3.。。)顺序排序
    * 分析:
    * 1、创建一个HashMap集合,key存放序号,value存放每行的文本
    * 2、创建一个字符缓冲输入流对象,构造方法中绑定字符输入流
    * 3、创建一个字符缓冲输出流对象,构造方法中绑定字符输出流
    * 4、使用字符缓冲输入流中的方法readLine,逐行读取文本
    * 5、对读取到的文本进行切割,获取行中的序号和文本内容
    * 6、把切割好的序号和问题内容存放到hashMap中,key序号是有序的,自动排号
    * 7、遍历hashMap集合,获取每一个键值对
    * 8、把每一个键值对,拼接为一个文本行
    * 9、把拼接好的文本,使用字符缓冲输出流中的方法write,写入到文件中
    * 10、释放资源
    */
    public class DemoTest {
    public static void main(String[] args) throws IOException {
    // 1、创建一个HashMap集合,key存放序号,value存放每行的文本
    HashMap<String, String> map = new HashMap<>();
    // 2、创建一个字符缓冲输入流对象,构造方法中绑定字符输入流
    BufferedReader br = new BufferedReader(new FileReader("day18_IOAndProperties\in.txt"));
    // 3、创建一个字符缓冲输出流对象,构造方法中绑定字符输出流
    BufferedWriter bw = new BufferedWriter(new FileWriter("day18_IOAndProperties\out.txt"));
    // 4、使用字符缓冲输入流中的方法readLine,逐行读取文本
    String line;
    while ((line = br.readLine()) != null) {
    // 5、对读取到的文本进行切割,获取行中的序号和文本内容
    String[] str = line.split("\.");
    // 6、把切割好的序号和内容存放到hashMap中,key序号是有序的,自动排号
    map.put(str[0], str[1]);
    }
    // 7、遍历hashMap集合,获取每一个键值对
    for (String key : map.keySet()) {
    String value = map.get(key);
    // 8、把每一个键值对,拼接为一个文本行
    line = key + "." + value;
    // 9、把拼接好的文本,使用字符缓冲输出流中的方法write,写入到文件中
    bw.write(line);
    bw.newLine();
    }
    bw.close();
    br.close();
    }
    }
     
  • 相关阅读:
    第一章 概述
    Angular-----代码风格指南!!!(很重要)
    Angular中innerHTML标签的样式不起作用详解
    maven入门
    vue解惑之v-on(事件监听指令)
    vue解惑之slot(插槽)
    js中关于constructor与prototype的理解
    Angular--AOT和JIT两种编译方式带来的改变
    ArcGIS API for JavaScript小白入门
    ionic项目使用Google FCM插件和Google maps插件打包android报错冲突问题
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11260414.html
Copyright © 2020-2023  润新知