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 ...
随机推荐
- 【Codeforces Round #589 (Div. 2) D】Complete Tripartite
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 其实这道题感觉有点狗. 思路大概是这样 先让所有的点都在1集合中. 然后随便选一个点x,访问它的出度y 显然tag[y]=2 因为和他相连了嘛 ...
- Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决
应女朋友的要求,要写一款销售管理的软件.用于管理服装店每天的销售记录,已及管理服装店的客户,并对客户进行生日提醒 因为之前使用C#写过一款家庭管理软件,主要是自己用,所以使用了服务器型数据库MySQL ...
- centos6|centos7防火墙区别 | 网络配置区别
CentOS 6 Linux防火墙 service iptables status (功能描述:查看防火墙状态) chkconfig iptables –list (功能描述:查看防火墙开机启动状态) ...
- NX二次开发-算法篇-创建最大边界包容盒
NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...
- fread读入挂and普通读入挂and浮点数读入挂
fread读入挂 版本一 namespace fastIO { #define BUF_SIZE 100000 //fread -> read bool IOerror = 0; inline ...
- spring boot thymeleaf简单示例
说实话,用起来很难受,但是人家官方推荐,咱得学 如果打成jar,这个就合适了,jsp需要容器支持 引入依赖 <dependency> <groupId>org.springfr ...
- iOS开发系列-NSDate
NSDate API 获取当前时间 获取时间戳 创建间隔指定时间戳的Date // 获取昨天 NSTimeInterval time = 24 * 60 * 60; NSDate *date = [N ...
- JS事件 文本框内容改变事件(onchange)通过改变文本框的内容来触发onchange事件,同时执行被调用的程序。
文本框内容改变事件(onchange) 通过改变文本框的内容来触发onchange事件,同时执行被调用的程序. 如下代码,当用户将文本框内的文字改变后,弹出对话框"您改变了文本内容!&quo ...
- vue v-model :
v-model : 通过v-model 进行双向绑定 ,将data的数据与input 绑定在一起,呈现在页面上 <!DOCTYPE html> <html lang="en ...
- [JZOJ2679] 跨时代
题目 题目大意 给你一堆边,你要将它们围成面积最大的矩形. 边不一定要用完,而且围成的矩形不能凸出一块. \(n\leq 16\) \(l_i \leq 15\) 思考历程 看到这题的第一眼,就会立马 ...