练习

        对文本的内容进行排序按照(1,2,3....)顺序
文本《出师表》:3.侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必得裨补阙漏,有所广益。8.愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏,臣不胜受恩感激。4.将军向宠,性行淑均,晓畅军事,试用之于昔日,先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。2.宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。1.先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。9.今当远离,临表涕零,不知所言。6.臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。7.先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐付托不效,以伤先帝之明,故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。5.亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。

分析:
    1.创建一个HashMap集合对象,可以:存储每行文本的序号(1,2,3,…);value:存储每行的文本
     2.创建字符缓冲输入流对象,构造方法中绑定字符输入流
     3.创建字符缓冲输出流对象,构造方法中绑定字符输出流
     4.使用字符缓冲输入流中的方法readline,逐行读取文本
     5.对读取到的文本进行切割,获取行中的序号和文本内容
     6.把切割好的序号和文本的内容存储到HashMap集合中(key序号是有序的,会自动排序1,2,3,4…)
     7.遍历HashMap集合,获取每一个键值对
     8.把每一个键值对,拼接为一个文本行
     9.把拼接好的文本,使用字符缓冲输出流中的方法write,写入到文件中
     10.释放资源


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

String[] arr = line.split("\\.");这里由于**.**是转义字符,所有要加 **\\**进行转义,不会出现空指针异常。

最后要换行,是因为readLine()在读取时不会返回结束符号,所以要自己加newLine()

结果

1.先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
2.宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。
3.侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必得裨补阙漏,有所广益。
4.将军向宠,性行淑均,晓畅军事,试用之于昔日,先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
5.亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。
6.臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
7.先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐付托不效,以伤先帝之明,故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
8.愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏,臣不胜受恩感激。
9.今当远离,临表涕零,不知所言。

努力成为一名改变世界的 码农 软件工程师,每天都要加油

Java对文本内容进行排序相关推荐

  1. 字符缓冲流(包含案例对文本内容进行排序)

    自带8k缓冲区 目录 字符缓冲输入流 :BufferedReader 构造器 新增功能 经典代码用行读文本 字符缓冲输出流BufferedWriter 构造器 新增方法 对文本内容进行排序案例 字符缓 ...

  2. Java追加文本内容到txt文件

      文本内容逐行写入到txt文件中: import java.io.RandomAccessFile;/*** 功能:将内容逐行写入到txt文件中* @param fileName 文件名(绝对路径) ...

  3. Java 富文本内容转化word导出

    一.需求: 当创建使用富文本编辑器,操作完的数据,传输到后台都是带有html标签的. 如:<h1>标题头</h1><h2>第二个标题</h2><a ...

  4. java 复制文本内容_基于java文本复制的7种方式总结

    如下所示: package copy; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  5. Java 将文本内容、网址 ;生成二维码 解析二维码

    准备:生成带logo的二维码时,logo图片必须存在:不存在则生成无logo的二维码. 1.建立Maven项目,并引入jar包. <dependency>     <groupId& ...

  6. java搜索文本内容_JAVA 搜索文本文件中的关键字

    原文链接:http://blog..net/blog_abel/article/details/40858245 用JAVA实现对文本文件中的关键字进行搜索, 依据每一行,得到每一行中出现关键词的个数 ...

  7. 对文本的内容进行排序

    package com.learn.demo01.BufferedStream;import java.io.*; import java.util.HashMap;/*练习:对文本的内容进行排序按照 ...

  8. 用Java语言实现文本内容对比的算法和程序

    前言 近日,笔者在接到一项需求,就是用程序将两个文本的内容以行为单位进行比对,找出其中差异的部分进行展示,以便能够一眼看出修改人对文件做出了哪些修改. 刚接到这项需求时,感到颇有难度,但是经过深入思考 ...

  9. Java实现标题相似度计算,文本内容相似度匹配,Java通过SimHash计算标题文本内容相似度

     目录 一.前言 二.关于SimHash 补充知识 一).什么是海明距离 二).海明距离的应用 三).什么是编辑距离 三.SimHash算法的几何意义和原理 一).SimHash算法的几何意义 二). ...

最新文章

  1. GPU、FPGA芯片成为增强机器学习能力的“左膀右臂”
  2. .NET中使用NLog记录日志
  3. 【PAT乙级】1008 数组元素循环右移问题 (20 分)
  4. 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集
  5. 使用window.createPopup创建无限级跨帧下拉菜单
  6. ASP.Net Jquery 随机验证码 文本框判断
  7. UVA12169模运算
  8. HashMap,,ConcurrentHashMap------------------浅谈!!
  9. c语言如何用数组对字符串排序,怎么用qsort对二维字符数组存的若干字符串排序...
  10. 保存更新失败,事务回滚,但是MQ消息发送成功。
  11. job title 总汇
  12. [搜索 meet in the middle+哈希] ProjectEuler 598. Split Divisibilities
  13. 马桶下的压水花技术!!(爆笑)
  14. 嵌入式linux培训教程,嵌入式Linux开发学习之Linux文件系统学习
  15. breezy,dapper,edgy,feisty的含义
  16. 连接查询之内连接(等值连接、非等值连接和自连接)
  17. 【CloudCompare】高程显示
  18. 通过CSS写提示工具栏的上下左右箭头
  19. 基于system generator的整除除法设计
  20. 【Proteus仿真】555组成的多谐振荡器电路

热门文章

  1. MyBatis(四)Mybatis的参数
  2. 王伟storm_美国911事件后中国网民的反应(实录)
  3. 解决,vlc播放虎牙url只有画面没声音的问题。
  4. JAVA文件传输免费LW+源代码
  5. 用MATLAB模拟三体运动的代码
  6. 特别研究:资产证券化——REITs
  7. Python初学者必看(1)
  8. FuzzFactory: Domain-Specific Fuzzing with Waypoints
  9. 章鱼保罗因多日绝食不幸死了。。
  10. 网易数帆数据生产力方法论