关于I/O流中输入输出过程中利用装饰器所需了解的内容
2017-03-23 20:41
274 查看
从查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));
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));
相关文章推荐
- 输入2个m行n列的矩阵并利用Scanner类接收数据。要求输出以下内容:两个矩阵的和;两个矩阵的转置矩阵;
- 关于opentack的(2)--利用debug信息大概了解api的调用过程
- 关于存储过程的ADO调用的一些心得(输出参数,返回值)
- 利用xp_cmdshell 结合 DOS的ECHO和输出重定向,写了一个写磁盘文件的存储过程。
- 关于存储过程的ADO调用的一些心得(输出参数,返回值)
- 利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM
- 利用SQL语句查找某数据库中所有存储过程包含的内容
- 关于二叉树前序输入且输出结构的算法实现
- 关于控制台程序的输入输出问题
- 关于容器输出的学习与简化过程
- 利用SQL语句查找某数据库中所有存储过程包含的内容
- 利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM等类型的文档
- 利用XML实现通用WEB报表输入和输出
- 利用正则表达式限制网页表单里的文本框输入内容
- ASP调用存储过程:有输入参数和输出参数的存储过程
- 数据输入输出语句(关于scanf函数)
- 根据传入的recordset对象实例,按表格输出内容子过程
- 利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM
- 利用CSS改变输入内容的样式及控件的外形
- 利用正则表达式限制网页表单里的文本框输入内容