Java教程

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

本文主要是介绍练习_对文本的内容进行排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

对文本的内容进行排序

按照(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();
    }

 

没排序之前:

 

 排序后:

 

这篇关于练习_对文本的内容进行排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!