ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BufferedReader字节缓冲输入流

2022-07-20 21:03:42  阅读:228  来源: 互联网

标签:字符 HashMap 缓冲 len BufferedReader 文本 字节


BufferedReader字节缓冲输入流

  继承父类的方法:

    int read() 读取单个字符并返回

    int read (char【】 huf)一次读取多个字符,将字符读入数组

    void close 关闭该流并释放与之关联的所有资源

  构造方法:

    BufferedReader(Reader in)创建一个使用默认大小输入缓冲区的缓冲字符输入流

    BufferedReader(Reader in int sz) 创建一个使用指定大小输入流缓冲区字符输入流

 参数:

    Reader in :字符输入流

     我们可以传递FileReader,缓冲流会给FileReader增加了一个缓冲区,提高FileReader的读取效率

    特有成员方法:

      String ReadLine() 读取一个文行

    使用步骤:

      1,创建字符缓冲输入流对象,构造方法中传递字符输出流

      2,调用字符缓冲流入中的方法read/readline,读取文本

      3,释放资源:

    案例:

  

    public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("aa.txt"));
int len =0;
while ((len=reader.read())!=-1){
System.out.println((char) len);
}
reader.close();

}
}

对文本的内容排序

    练习:

      对文本内容进行排序

      按照(123)排序

    分析:

      1,创建以恶搞HashMap集合对象,可以:存储每行文本的序号(1,2,3,4);value:存储每行的文本  

      2,创建字符缓冲输入流对象,构造方法中绑定字符输入流

      3,创建字符缓冲流出流对象,构造方法中绑定字符输出流

      4,使用字符缓冲出任流中的方法readline,逐行读取文本

      5,对读取到文本进行切割,获取行中的序号和文本内容

      6,把切割好的序号和文本的内存存储到HashMap集合中(Key序号有序的,会自动排序1,2,3...)

      7,遍历HashMap集合,获取每个一个键值对

      8,把每一个键值对,拼接为一个文本行

      9,把拼接好的文本,使用字符缓冲流输出流中的方法writer写入文本中

  案例:

    

public class Wenbenpaixu {
/**
* 1,创建以恶搞HashMap集合对象,可以:存储每行文本的序号(1,2,3,4);value:存储每行的文本  
*       2,创建字符缓冲输入流对象,构造方法中绑定字符输入流
*       3,创建字符缓冲流出流对象,构造方法中绑定字符输出流
*       4,使用字符缓冲出任流中的方法readline,逐行读取文本
*       5,对读取到文本进行切割,获取行中的序号和文本内容
*       6,把切割好的序号和文本的内存存储到HashMap集合中(Key序号有序的,会自动排序1,2,3...)
*       7,遍历HashMap集合,获取每个一个键值对
*
*       8,把每一个键值对,拼接为一个文本行
*       9,把拼接好的文本,使用字符缓冲流输出流中的方法writer写入文本中
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) throws IOException {
HashMap<String, String> map = new HashMap<>();
BufferedReader reader = new BufferedReader(new FileReader("aa.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("bb.txt"));
String len ="";
while ((len=reader.readLine())!=null){
String[] arr = len.split("\\.");
map.put(arr[0],arr[1]);
}
for (String s : map.keySet()) {
String value =map.get(s);
len=s+"."+value;
writer.write(len);
writer.newLine();
}
writer.close();
reader.close();


}
}

        

标签:字符,HashMap,缓冲,len,BufferedReader,文本,字节
来源: https://www.cnblogs.com/ssr1/p/16499832.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有