IO---转换流和缓冲流总结

本文详细介绍了Java中的转换流OutputStreamWriter和InputStreamReader,用于在字符流和字节流之间转换,以及缓冲流BufferedOutputStream、BufferedInputStream、BufferedWriter和BufferedReader,它们提高了IO操作的效率。通过代码案例展示了如何使用这些流进行文件读写,并比较了不同复制方式的效率。
摘要由CSDN通过智能技术生成

IO---转换流和缓冲流

1、转换流概述

  • OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去

2、转换流_字符转字节的过程


3、OutputStreamWriter写文本文件

a、OutputStreamWriter

java.io.OutputStreamWriter 继承Writer类
就是一个字符输出流,写文本文件
write()字符,字符数组,字符串    
字符通向字节的桥梁,将字符流转字节流
OutputStreamWriter构造方法:
    OutputStreamWriter(OuputStream out)接收所有的字节输出流
    字节输出流:  FileOutputStream       
    OutputStreamWriter(OutputStream out, String charsetName)
    String charsetName 传递编码表名字 GBK  UTF-8 
    OutputStreamWriter 有个子类,  FileWriter
代码案例
            public class OutputStreamWriterDemo {
                public static void main(String[] args)throws IOException {
            //      writeGBK();
                    writeUTF();
                }
                /*
                 * 转换流对象OutputStreamWriter写文本
                 * 采用UTF-8编码表写入
                 */
                public static void writeUTF()throws IOException{
                    //创建字节输出流,绑定文件
                    FileOutputStream fos = new FileOutputStream("c:\\utf.txt");
                    //创建转换流对象,构造方法保证字节输出流,并指定编码表是UTF-8
                    OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
                    osw.write("你好");
                    osw.close();
                }

                /*
                 * 转换流对象 OutputStreamWriter写文本
                 * 文本采用GBK的形式写入
                 */
                public static void writeGBK()throws IOException{
                    //创建字节输出流,绑定数据文件
                    FileOutputStream fos = new FileOutputStream("c:\\gbk.txt");
                    //创建转换流对象,构造方法,绑定字节输出流,使用GBK编码表
                    OutputStreamWriter osw = new OutputStreamWriter(fos);
                    //转换流写数据
                    osw.write("你好");

                    osw.close();
                }
            }

4、转换流_字节转字符流过程

InputStreamReader
  • java.io.InputStreamReader 继承 Reader
  • 字符输入流,读取文本文件
  • 字节流向字符的敲了,将字节流转字符流
  • 读取的方法:read() 读取1个字符,读取字符数组
  • 技巧 (1)OuputStreamWriter写了文件 (2)InputStreamReader读取文件
  • OutputStreamWriter(OutputStream out)所有字节输出流
  • InputStreamReader(InputStream in) 接收所有的字节输入流
  • 可以传递的字节输入流: FileInputStream
  • InputStreamReader(InputStream in,St
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值