Java IO流的使用

一、IO流的四大抽象类(其他流都分别继承这四大类):InputStream     OutputStram    Reader     Writer;

       1. 流的方向:

             输入流:InputStream     Reader.

             输出流:OutputStram    Writer

        2.流的数据单位:

             字节流(可以读取一切,图片.视频等):InputStream       OutputStram ;

             字符流(只能读纯文本,即文字类):  Reader     Writer;

二、功能流:

       1.转换流:解码与编码的字符集问题(字节与字符的转换)

           InputStreamReader ---------解码

           OutputStreamWriter --------编码

        2.缓冲流:提高性能(用空间换时间)

           输入流:BefferedInputStream       BefferedReader; 

           输出流:BefferedOutputStream       BefferedWriter; 

三、流的选择与操作:

      

       1.字节流:(可以读取一切,图片.视频等)

            输入流:  InputStream   FileInputStream     ByteArrayInputStream

               操作:read(字节数组

                     a.中间容器:byte[]  flush = new byte[长度];

                     b.接收长度:int   len = 0;

                     c.循环读取:while((len =  输入流.read(flush)!= -1)){  }

                     d.操作:输出、拷贝;

           输出流:OutputStream   FileOutputStream    ByteArrayOutputStream

                    操作:write(字节数组,0,长度);输出


          2.字符流:(只能读纯文本,即文字类)

               输入流: Reader      FileReader   CharArrayReader

               操作:read(字符数组

                     a.中间容器:char[]  flush = new char[长度];

                     b.接收长度:int   len = 0;

                     c.循环读取:while((len =  输入流.read(flush)!= -1)){  }

                     d.操作:输出、拷贝;

           输出流:  Writer       FileWriter   CharArrayWriter

                    操作:write(字符数组,0,长度);输出

       3.处理数据+类型:

            基本+字符串:必须存在才能读取,读取与写出的顺序要一致

                    输入流:DataInputStream    ReadXXX;

                    输出流:DataOutputStream    WriteXXX;

            引用类型:Serizlizable   transient

                   反序列化:ObjectInputStream    ReaderObject;

                   序列化:ObjectOutputStream      WriteObject;

           

        4.管道流(线程间):

                    输入流:PipedInputStream        PipedReader;

                    输出流:PipedOutputStream     PipedWriter;

四、附上几张流的层次图:

               

          

         

       

       

            

   


整理得好累啊!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值