缓冲流运用实现文本排序,缓冲流比普通流效率高
package com.zr;
import java.io.*;
import java.util.HashMap;
/*
缓冲流运用实现文本排序,缓冲流比普通流效率高
*/
public class DemoBuffered {
public static void main(String[] args) throws IOException {
//创建字符缓冲输入流对象,构造方法中绑定字符输入流
BufferedReader bis=new BufferedReader(new FileReader("in.txt"));
//创建字符缓冲输出流对象,构造方法中绑定字符输出流
BufferedWriter bos=new BufferedWriter(new FileWriter("inin.txt"));
//创建HashMap集合对象,key:每行文本的序号,value:每行的文本
HashMap<String,String> hashMap=new HashMap<>();
//定义每一行
String line;
while ((line=bis.readLine())!=null){
//分割序号和文本存入数组中,必须用“\\.”来表示“.”
String[] arr=line.split("\\.");
//将arr数组的序号和文本存入hashMap中,hashMap中的key是自动排序的
hashMap.put(arr[0],arr[1]);
}
//遍历hashMap排序文本
for (String key:hashMap.keySet()){
bos.write(key+"."+hashMap.get(key));
bos.newLine();
}
//释放资源
bos.close();
bis.close();
}
}