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 ...
随机推荐
- 零距离接触阿里云时序时空数据库TSDB
概述 最近,Amazon新推出了完全托管的时间序列数据库Timestream,可见,各大厂商对未来时间序列数据库的重视与日俱增.阿里云TSDB是阿里巴巴集团数据库事业部研发的一款高性能分布式时序时空数 ...
- noip 2014 总结
2014 年的noip 已经结束了,成绩从个人而言不是特别的理想,从今年题的逗的程度,本来是个xxx 就被玩脱了= = 当然现在后悔事没有用的了,不过第二天全屏技术的在最后一小时看到了两道题的错误,然 ...
- LeakCanary 与 鹅场Matrix ResourceCanary对比分析
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) LeakCanary是Square公司基于MAT开源的一个内存泄 ...
- Android中滑屏实现----触摸滑屏以及Scroller类详解 .
转:http://blog.csdn.net/qinjuning/article/details/7419207 知识点一: 关于scrollTo()和scrollBy()以及偏移坐标的设置/取值问 ...
- Centos 6 & Centos 7安装rabbitmq3.6.15(单节点)
系统准备 安装 erlang 语言环境 安装rabbitmq 配置网页插件 配置访问账号密码和权限 系统准备 centos6.5 与 centos7 都可以 ###安装依赖文件 yum -y inst ...
- spark集群进入 bin 下面目录./spark-shell 出现Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
spark集群启动的时候可以正常,进入 ./spark-shell 就会出现如下错误 配置文件:spark-env.sh export JAVA_HOME=/usr/java/jdk1.7.0_51e ...
- 编译Solr4.72 源码没有成功
最近需要用到solr,查询Hbase里面的数据,编译Solr的时候遇到了点问题: 下了solr的源码后需要用ant自己编译: 源码下载地址:https://svn.apache.org/repos/a ...
- 分享一套高级Java笔试题(实拍高清图)
分享一套高级Java笔试题 微信群里群友分享的 刚好他在笔试 有些问题不会发到群里求助 如果你最近正好在面试 需要参考需要提升 这套试题或许对你有用 下面是部分分享原图 下面是微信群中群友的热议 非常 ...
- C 自己实现strcpy,strcmp,strlen,strcat等函数
// mystrlen() 测试字符长度方法 int mystrlen(char *str) { int cnt = 0; char *p= str; while(*p++ != '\0') { cn ...
- 解决maven项目创建过慢的问题以及快捷键
分别在创建项目时填入以下值: Name:archetypeCatalogValue:internal idea常用的快捷键 Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+ ...