io技术

输入流和输出流是相对于内存来说的

将外设中的数据写到内存中是输入
将内存中的数据写到外设中是输出


字符流的由来:
其实就是:字节流读取文字字节数组后,不直接操作而是先查指定的编码表,获取对应的文字
在对这个文字进行操作,简单来说就是字节流+编码表

------------------
字节流的两个顶级的父类
inputStream  outputStream

字符流的两个顶级的父类
1.Reader 2.Writer
这些子类的都以父类的名字为后缀
前缀就是这些子类的功能

//需求:将一些文字存储到硬盘一个文件中。
    操作文件的就可以想到FileWriter
//需求:将一些文字从硬盘读取到内存中 
    就想到了FileReader
    
    BufferWriter:新方法newline();
    BufferedReader:新方法readLine();
    
装饰者模式:
当对一组对象的功能需要增强的时候就可以用 ,与继承有什么区别呢,装饰者模式可以灵活的使用需要装饰的东西,因为继承体系太庞大了如果单纯为了
某个功能进行继承,那么体系就会越来越臃肿。
-----------------------------------------------

字节流:

InputStream  
    

OutputStream

字节流:
FileInputStream 
FileOutputStream
BufferedInputStream
BufferedOutputStream
字符流:
Writer Reader
FileReader
FileWriter
BufferedReader
BufferedWriter
--------------------------------------------------
转换流
inputStreamReader():
outputStreamWriter();

字节到字符的流的桥梁  解码
字符到字节流的桥梁 编码

流的操作规律:
因为流的对象太多了,开发的过程中不知道用哪个对象合适

想知道用哪个对象,只需要读懂4个明确

1.明确源和目的:
        源 :inputStream Reader
        目的:OutputStream Writer
2.明确数据是否是纯文本:
        源:是纯文本  Reader
            不是:InputStream
        目的:是纯文本:Writer
            不是:OutputStream
3.明确具体的设备:
        源设备:
            硬盘:file
            键盘:System.in
            内存:Array
            网络:socket
        目的设备:
            硬盘:File
            控制台:System.out
            内存:Array
            网络:Socket
            
4.是否需要其他额外功能:
        缓冲:
            Buffered
        转换流:
            InputStreamReader
            OutputStreamWriter
            
            
            
            
SequenceInputStream:
    特点:
    1,将多个字节读取流和并成一个读取流,将多个源合并成一个源,操作起来方便。
    2,需要的枚举接口可以通过Collections.enumeration(collection);
    
properties
    是HashTable的一个子类,是存一些配置文件之类的是键值对
    properties.load(in)吧文件的内容读取出来放入源中
    properties.store(write)是源中的数据写入pro中

转载于:https://my.oschina.net/u/3234136/blog/1786314

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值