关于I/O流中输入输出过程中利用装饰器所需了解的内容
来源:互联网 发布:虚拟数据库 编辑:程序博客网 时间:2024/04/30 16:00
从查JavaAPI上终于理清了一点,之前关于在转码过程中的对于字符缓冲流的一些认识。
1、字节输入流利用字节到字符输入转码器将字节转入字符输入流,装饰器利用字符缓冲输入流
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。
为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
2、字节输出流利用字符到字节输出转码器将字符转入字节输出流,装饰器利用字符缓冲输出流
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
每次调用 write() 方法都会导致在给定字符(或字符集)上调用编码转换器。在写入底层输出流之前,得到的这些字节将在缓冲区中累积。可以指定此缓冲区的大小,不过,默认的缓冲区对多数用途来说已足够大。注意,传递给 write() 方法的字符没有缓冲。
为了获得最高效率,可考虑将 OutputStreamWriter 包装到 BufferedWriter 中,以避免频繁调用转换器。例如:
Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));
0 0
- 关于I/O流中输入输出过程中利用装饰器所需了解的内容
- VC中C++的输入输出I/O 流函数
- JAVA中I/O流输入输出类解析
- 关于I/O输入输出介绍
- I/O-输入输出流
- 输入输出流 I/O
- I/O输入输出流
- I/O 输入输出流
- 第十六章 关于I/O流分离的其他内容
- Linux 开发过程中I/O操作的效率测试
- Java中I/O流的选择
- Java中复杂的I/O流
- Java中I/O流的应用
- 谈谈对java I/O中装饰者模式的理解
- 黑马程序员_java当中关于I/O输入输出流的解读
- java中关于I/O的效率问题
- 关于java I/O中flush方法作用的理解
- 输入输出流--I/O流
- CCF第一题--门禁系统
- input表单属性的小bug
- 机器学习实战 笔记一:kNN分类算法
- 二分——hdu 4430 Yukari's Birthday
- 浅谈android Toast五种样式 (让你的Toast更炫)
- 关于I/O流中输入输出过程中利用装饰器所需了解的内容
- C#简易聊天机器人(控制台程序)
- Linux(Ubuntu14.04)+MySQL Community Server 5.7.17安装(5.7.17deb安装包)
- Swift开发:UIAlertController 弹框
- [leetcode]Substring with Concatenation of All Words
- L2-010. 排座位
- 字符串分类
- influxDB上手试用
- 三道java初学者习题