IO流

 一、步骤:创建源  选择流  操作(读取|写出)  释放

二、流

       1、节点流:离数据源|程序近的流

              (1) 字节流:可以处理一切(纯文本、音频、视频等)

                   1)输入流:InputStream\FileInputStream\ByteArrayInputStream

                         操作:read(字节数组)

                         a) 中间容器:Byte[]  flush = new Byte[长度];

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

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

                         d) 操作:输出、拷贝

                   2)  输出流:OutputStream\FileOutputStream\ByteArrayOutputStream

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

              (2) 字符流:只能处理纯文本

                  1)输入流:Reader\FileReader

                        操作:read(字符数组)

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

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

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

                        d) 操作:输出,拷贝

                  2)输出流:Writer\FileWriter

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

       2、处理流:装饰模式  ,提高性能  ,增强功能

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

                       1)  输入流:InputStreamReader     (解码:字节输入流转换成字符输入流)

                       2)  输出流:OuputStreamWriter      (编码:字节输出流转换成字符输出流)

                  (2)缓冲流:提高性能

                       1)输入流:BufferedInputStream\BufferedReader

                       2)  输出流:BufferedOutputStream\BufferedWriter

                  (3)  处理数据+类型

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

                              a)输入流:DataInputStream       readXxx

                              b)  输出流:DataOutputStream       writerXxx

                        2)  引用类型:实现serializable接口,关键字transient

                             a)反序列化:ObjectInputStream       readObject

                             b)  序列化:ObjectOutputStream        writerObject

                 (4)  打印流:PrintStream

                 (5)  System.in\System.out\System.err 

       以下流使用新增方法不能发生多态

                (1)  ByteArrayOutputStream             toByteArray()

                (2)  BufferReader          readLine()

                (3)  BufferedWriter          newLine()

                (4)  DataInputStream           DataOutputStream

                (5)  ObjectInputStream         ObjectOutputStream

                (6)  PrintStream

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值