java_缓冲流(文件内容排序)
/** 案例:诸葛亮出师表文本排序
* 1.使用HashMap集合,k存储每行文本序,v存储文本
* 2.创建字符缓冲输入流,构造方法中绑定字符输入流
* 3.使用字符串缓冲输入流中的方法readLine逐行读取文本
* 4.对读取到的文本进行切割,获取行中的序号和文本内容
* 5.把切割好的序号和文本的内容存储到HashMap集合中
* 6.建字符缓冲输出流,构造方法中绑定字符输出流
* 7.遍历HashMap集合获取键值对
* 8.把每一个键值对拼接为一个文本行
* 9.把拼接好的文本,使用字符缓冲输出流中的writer方法写入到文件中
*创
*
*/
public static void main(String[] args) throws IOException {
//1.使用HashMap集合,k存储每行文本序,v存储文本
HashMap<String, String> hsm = new HashMap<>();
//2.创建字符缓冲输入流,构造方法中绑定字符输入流
BufferedReader br = new BufferedReader(new FileReader("F:\\FileTest\\出师表.txt"));
//3.使用字符串缓冲输入流中的方法readLine逐行读取文本
String len = null;
while ((len = br.readLine())!=null){
//4.对读取到的文本进行切割,获取行中的序号和文本内容
String[] sp = len.split("\\.");
//5.把切割好的序号和文本的内容存储到HashMap集合中
hsm.put(sp[0],sp[1]);
}
//6.遍历HashMap集合获取键值对
Set<String> strings = hsm.keySet();
//7.创建字符缓冲输出流,构造方法中绑定字符输出流
BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\FileTest\\出师表.txt"));
for (String string : strings) {
String s = hsm.get(string);
bw.write(string+"."+s);
bw.newLine();
}
bw.close();
br.close();
}
}
java_缓冲流(文件内容排序)的更多相关文章
- java_缓冲流(字符输出输入流)
/** java.io.BufferedReader extends Reader * * 构造方法: * BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符 ...
- java_缓冲流(字符输出流)
/** 字符缓冲流: * java.io.BufferedWriter extends writer * BufferedWriter:字符缓冲输出流: * * 构造方法: * BufferedWri ...
- java_缓冲流(字节输入流)
/** * java.iko.BufferedInputStream extends InputStream * BufferedInputStream:字节缓冲输入流 * 构造方法: * Buffe ...
- java_缓冲流(字节输出流)
缓冲流分为: 字节缓冲流:BufferedIntputSream(字节缓冲输出流),BufferdOutputStream(字节缓冲输入流) 字符缓冲流:BufferedReader(字符输入缓冲流) ...
- IO流,字节流复制文件,字符流+缓冲复制文件
JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream Reader 输出流的基类:OutputStream Writer 如果按数据单元划分:字节流和字符流 字节 ...
- python 获取流文件 大小
buffer_file_content=u"流文件内容" file_size = len(buffer_file_content)/ #kb
- IO流-文件夹的拷贝
文件夹的拷贝操作 要求: 完成文件夹的拷贝,包括子目录的拷贝和所有文件的拷贝 分析: 首先,得在目标目录下创建一个与源文件夹名称相同的文件夹 遍历源文件夹中的所有文件对象,判断子文件是目录还是文件 如 ...
- Shell—文件内容操作
读取文件的每一行内容并输出 #!/bin/bash # 方法1 while read line do echo $line done < a.txt # 方法2 cat a.txt | whil ...
- Linux学习 - 修改、查询文件内容
一.显示文件内容 cat [-n] [文件名] 正向显示 -n 显示行号 tac [文件名] 反向显示 more [文件名] 可实现分页显示 (空格)或(f) 翻页 (Enter) 换行 (q ...
随机推荐
- JavaWeb学习篇之----Session&&Cookie
今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一下Session和Cookie的相关知识,首先我们来看一下Cookie的相关知识: 一.Cookie 简介: Cookie是客户端技术,服务器 ...
- Java中的并发库学习总结
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...
- 39 Ubuntu下配置python的vscode开发环境
0 引言 最近想在ubuntu下搞深度学习,首先配置了python的vscode开发环境.在配置python时,选择了Anaconda3.x,保证了其相对于系统python2.x的独立性.另外,vsc ...
- thinkphp 原生分页
paginate() 是有三个参数: 第一个参数是 $listRows [int],也就是当前的页数 第二个参数是 $simple [boolean], 是否简洁模式或者总记录数 第三个参数是 $co ...
- HDU6331Problem M. Walking Plan
传送门 分块floyd $f[i][j][k]$表示从i走k步到j的最短路 $g[i][j][k]$表示从i走k*100步到j的最短路 $h[i][j][k]$表示从i至少走k步到j的最短路 询问从x ...
- Shader实现新手指引挖空圆形和矩形
这个是参考这个做的:https://blog.csdn.net/tracyzly/article/details/80279692 Shader "UI/ImageWithHole" ...
- ionic-CSS:ionic select
ylbtech-ionic-CSS:ionic select 1.返回顶部 1. ionic select ionic select 的 select 相比原生的要更加美观些.但是弹出的可选选项样式是 ...
- The packaging for this project did not assign a file to the build artifact
当进行mvn install时,遇到以下错误 The packaging for this project did not assign a file to the build artifact 在网 ...
- (转)元类metaclass
阅读目录 一 前言 二 什么是元类 三 class关键字创建类的流程分析 五 自定义元类控制类OldboyTeacher的创建 六 自定义元类控制类OldboyTeacher的调用 六 再看属性查找 ...
- 2019 ICPC 南昌网络赛
2019 ICPC 南昌网络赛 比赛时间:2019.9.8 比赛链接:The 2019 Asia Nanchang First Round Online Programming Contest 总结 ...