javase案例04——io流综合运用案例案例(代码片段)

author author     2022-12-04     653

关键词:

1 需求

将以下的打乱顺序的出师表重新进行排序,并输出到另一个文件!

一、先帝创业未半而中道崩殂, 五、然侍卫之臣不懈于内, 六、忠志之士忘身于外者, 二、今天下三分, 九、诚宜开张圣听 三、益州疲弊, 八、欲报之于陛下也, 七、盖追先帝之殊遇, 四、此诚危急存亡之秋也,

2 思路

  1. 创建一个缓冲字符输入流对象包装字符输入流接通源文件
  2. 定义一个List集合用于存储每段文章
  3. 定义一个循环按照每行读取每段文章,存在List集合中去
  4. 对List集合中的每个元素按照首字符排序
  5. 创建一个缓冲字符输出流管道通向目标文件
  6. 遍历List集合中的每一个元素,通过缓冲字符输出流管道输出到目标文件
  7. 释放资源

3 开工

1.内容

  • 用字符缓冲输入流采用每一行读取数据后,放到集合中
  • 集合的中的再进行遍历,并且用自定义方法按照首个字符排序
  • 难点就是return sizes.indexOf(s1.charAt(0))-sizes.indexOf(s2.charAt(0)),这个的意思是说遍历后取首字符,根据首字符的索引值(自定义另一个数组规定排序规则)进行数字比较,进行排序
  • 然后用缓冲字符输出流输出就可以啦 2.代码
public class ExecDemo 
    public static void main(String[] args) 
        try(
                //释放资源,把资源放到这边来,后续它自动会关闭
                //1.创建一个缓冲字符输入流对象包装字符输入流接通源文件
                BufferedReader br = new BufferedReader(new FileReader("Day10Demo\\\\src\\\\csb.txt"));
                //5.创建一个缓冲字符输出流管道通向目标文件
                BufferedWriter bw = new BufferedWriter(new FileWriter("Day10Demo\\\\src\\\\csb2.txt"));
        )
            //BufferedReader资源在上面,小括号中的
            //2.定义一个List集合用于存储每段文章
            List<String> datas = new ArrayList<>();
            //3.定义一个循环按照每行读取每段文章,存在List集合中去
            String line;
            while ((line=br.readLine())!=null)
                datas.add(line);
            


            //4.自定义下排序规则
            List<Character> sizes = new ArrayList<>();

            Collections.addAll(sizes,零,一,二,三,四,五,六,七,八,九);


            Collections.sort(datas, new Comparator<String>() 
                @Override
                public int compare(String s1, String s2) 
                    //indexOf获取元素在List集合中的索引,取传进来的第一个字符,然后获取在sizes集合中的索引得到数字进行比较
                    return sizes.indexOf(s1.charAt(0))-sizes.indexOf(s2.charAt(0));
                
            );
//            //这边可以装一下的!
//            Collections.sort(datas, ( s1,  s2)->sizes.indexOf(s1.charAt(0))-sizes.indexOf(s2.charAt(0)));
//            System.out.println(datas);


            //BufferedWriter资源在上面,小括号中的


            //6.遍历List集合中的每一个元素,通过缓冲字符输出流管道输出到目标文件
            for (String data : datas) 
                bw.write(data);
                bw.newLine();
            
        catch (Exception e)
            e.printStackTrace();
        
    

  1. 运行结果

javase-19.1.1io流练习案例-集合到文件(排序改进版)

1packageday10.lesson1.p1;23importjava.io.BufferedWriter;4importjava.io.FileWriter;5importjava.io.IOException;6importjava.util.Comparator;7importjava.util.Scanner;8importjava.util.TreeSet;910/*111IO流练习 查看详情

javase-19.1.2io流练习案例-复制单级文件夹

1packageday10.lesson1.p2;23importjava.io.*;456/*71.2案例-复制单级文件夹89源目录:source10目的地:copy11121.创建数据源目录File对象132.获取数据源目录File对象的名称143.创建目的地目录File对象154.判断第3步创建的File是否存在,如果不存在,就... 查看详情

javase-19.1.3io流练习案例-复制多级文件夹

1packageday10.lesson1.p3;23importjava.io.*;45/*61.3案例-复制多级文件夹781.创建数据源File对象92.创建目的地File对象103.写方法实现文件夹的复制,参数为数据源File对象和目的地File对象114.判断数据源File是否是文件12是文件:13直接复制,用... 查看详情

指令综合运用-品牌案例.html

案列:使用vue实现品牌的增加,删除和关键字搜索以及时间的处理分析:手动实现筛选的方式:筛选框绑定到vm实列中的searchName属性中:<hr>输入筛选名称:<inputtype="text"v-model="searchName"> 使用v-for指令循环每一行的数据... 查看详情

javase之基础篇——idea中debug调试以及综合案例练习

...法的重载以及方法的参数传递。最后我们通过两个综合的案例给大家将所学的方法中的相关知识进行了相应的串联。最后通 查看详情

javase之基础篇——idea中debug调试以及综合案例练习

...法的重载以及方法的参数传递。最后我们通过两个综合的案例给大家将所学的方法中的相关知识进行了相应的串联。最后通 查看详情

webapisdom-事件委托+综合案例(代码片段)

... /  事件基础 /    高阶函数  /  环境对象 / 综合案例-Tab栏切换 / DOM节点 /DOM时间对象/DOM重绘和回流/ DOM-事件对象/DOM-事件流目标:能够说出事件委托的好处一、事件委托是利用事件流的特征解决一些 查看详情

2021年最新最全flink系列教程__flink综合案例(代码片段)

day09_综合案例今日目标FlinkFileSink落地写入到HDFSFlinkSQL整合Hive数据仓库订单自动好评综合案例FlinkFileSink落地写入到HDFS常用的文件存储格式TextFilecsvrcFileparquetorcsequenceFile支持流批一体的写入到HDFSFileSink需求将流数据写入到HDFSpackage... 查看详情

综合运用之拖动模态框案例(代码片段)

在制作该案例之前,我们需要先做好准备工作!有句话怎么说来着?!没错!磨刀不误砍柴工!目录 Offset系列概念代码实操Offset知识点小结拖动模态框案例Javascript全部代码总结首先,我们要先复习一... 查看详情

io流相关案例(代码片段)

...符数组E:利用缓冲流的特有方法一次读写一个字符串1.1.1案例代码十二:packagecom.itheima_06;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjav 查看详情

ios开发多线程四:nsoperation多图下载综合案例

#import"ViewController.h"#import"XMGAPP.h"@interfaceViewController()/**tableView的数据源*/@property(nonatomic,strong)NSArray*apps;/**内存缓存*/@property(nonatomic,strong)NSMutableDictionary*images;/**队列*/@pro 查看详情

fllink实时计算运用flinktableapi&sql案例实战

1.TableAPI&SQL实战运用案例说明功能说明通过socket读取数据源,进行单词的统计处理。实现流程初始化Table运行环境转换操作处理:1)以空格进行分割2)给每个单词计数累加13)根据单词进行分组处理4)求和统计5)输出打印数... 查看详情

案例11:高层综合楼防火案例分析

案例11:高层综合楼防火案例分析(一) 建筑分类和耐火等级:总平面布局  防火分区:消防水泵设置规定 锅炉房,变压器  查看详情

第4章io流相关案例(代码片段)

...符数组E:利用缓冲流的特有方法一次读写一个字符串1.1.1案例代码十二:packagecom.itheima_06;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjav 查看详情

io流-批量修改文件名称案例

 /** 源文件名: 桌面-我们今天学习IO流了哈哈哈哈-001.jpg* 修改后文件名: 桌面-000x.jpg*/publicclassFile_listFiles_updateFileName{     publicstaticvoidmain(String[]args){ &nbs 查看详情

使用张量流的最佳案例

】使用张量流的最佳案例【英文标题】:Bestcasetousetensorflow【发布时间】:2020-04-1421:08:45【问题描述】:我遵循了文章中提到的所有步骤:https://stackabuse.com/tensorflow-2-0-solving-classification-and-regression-problems/然后我用LinearRegression对... 查看详情

学习react-简单小案例--综合案例

<html><head><title></title><metacharset="UTF-8"/><scriptsrc="js/react.min.js"type="text/javascript"charset="utf-8"></script><scriptsrc="js/react-dom.min.js 查看详情

黑马前端pinkhtml综合案例:圣诞节的那些事小说排行榜案例注册页面(代码片段)

文章目录综合案例1:圣诞节的那些事目标代码综合案例2:小说排行榜案例目标代码综合案例3:注册页面目标代码综合案例1:圣诞节的那些事视频p30-31目标代码<!DOCTYPEhtml><htmllang="en"><head><... 查看详情