当前位置: 首页 > news >正文

对文本内容进行排序

package Day_IO;/*
 @Author wanghongyuan
  @Date 2021/1/11 
 
*/

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

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

 */
public class Demo01Test {
    public static void main(String[] args) throws IOException {
        //1.创建一个HashMap集合对象,key:存储每行文本的序号(1,2,3,4....);value:存储每行的文本
        HashMap<String,String> map = new HashMap<>();
        //2.创建字符缓冲输入流对象,构造方法中绑定字符输入流
        BufferedReader br = new BufferedReader(new FileReader("D:\\Java\\test\\new.txt"));
        //3.创建字符缓冲输出流对象,构造方法中绑定字符输出流
        BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\Java\\test\\new1.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();
    }
}

文本内容如下

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 测试框架
  • 写个web自动化
  • 与全球外国人即时聊天的网站
  • 将GBK的文件转换成UTF-8的文件格式
  • 反序列化流de使用
  • 使用序列化和反序列化操作集合中的值
  • 接口的使用-常用的函数式接口举例
  • 学习个人项目课
  • 格式化打印信息,使用Consumer
  • predicate接口中的方法
  • Predicate练习
  • Stream流中的常用方法
  • 网络编程练习
  • Junit简单的白盒测试
  • 关于java中的反射
  • Apache的基本使用
  • Brief introduction of how to 'Call, Apply and Bind'
  • CEF与代理
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • magento 货币换算
  • passportjs 源码分析
  • Rancher-k8s加速安装文档
  • Spring Boot MyBatis配置多种数据库
  • vue 个人积累(使用工具,组件)
  • vue 配置sass、scss全局变量
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 大数据与云计算学习:数据分析(二)
  • 订阅Forge Viewer所有的事件
  • 高程读书笔记 第六章 面向对象程序设计
  • 如何优雅地使用 Sublime Text
  • 微信小程序--------语音识别(前端自己也能玩)
  • 主流的CSS水平和垂直居中技术大全
  • Linux权限管理(week1_day5)--技术流ken
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​渐进式Web应用PWA的未来
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # Kafka_深入探秘者(2):kafka 生产者
  • # 安徽锐锋科技IDMS系统简介
  • ## 1.3.Git命令
  • ### RabbitMQ五种工作模式:
  • #AngularJS#$sce.trustAsResourceUrl
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (03)光刻——半导体电路的绘制
  • (day18) leetcode 204.计数质数
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (十八)三元表达式和列表解析
  • (算法)Travel Information Center
  • (转)http-server应用
  • ***测试-HTTP方法
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈