专栏名称: 张风捷特烈
海的彼岸,有我未曾见证的风采。
目录
相关文章推荐
旅行雷达助手  ·  【国航纽约线也跌了】全国多城3K6往返美国延 ... ·  16 小时前  
西藏发布  ·  进出藏机票、火车票补贴来了! ·  21 小时前  
西藏发布  ·  进出藏机票、火车票补贴来了! ·  21 小时前  
陕西应急管理  ·  全省大范围雨雪降温!多部门联合发布风险预警提示→ ·  23 小时前  
陕西应急管理  ·  全省大范围雨雪降温!多部门联合发布风险预警提示→ ·  23 小时前  
新晚报  ·  冰城请柬梅开二度 ... ·  昨天  
新晚报  ·  冰城请柬梅开二度 ... ·  昨天  
云南省文化和旅游厅  ·  案例发布|湖边休闲慢生活 ... ·  2 天前  
51好读  ›  专栏  ›  张风捷特烈

Java总结IO之总集篇

张风捷特烈  · 简书  ·  · 2018-10-13 09:58

正文

Java总结IO四篇:

名称
第零篇 Java总结IO之总集篇
第一篇 Java总结IO第一篇之字符流与字符编码
第二篇 Java总结IO第二篇之字节流与字符流转化
第三篇 Java总结IO第三篇之File类和Properties类
第四篇 Java总结IO第四篇之其他IO流对象

一、字符流概览

读入流I(用于读取数据源--内存、磁盘、键盘)
 Reader
     |---★InputStreamReader     <- isr- 字节输入转换字符流           
         |---★FileReader      <- pr-文件读取流
     |---★BufferedReader      <- pfw-缓冲读取   
     |---PipedReader
     |---★CharArrayReader        <- car-字符数组读取流 
     |---★StringReader           <- sr-字符串读取流  
     |---FilterReader          
     |---URLReader
输出流O(将数据源引向目的地--内存、磁盘、控制台)
Writer                                     
    |---★OutputStreamWriter   <-osw-字节输入转换字符流                
        |---★FileWriter       <- fw-文件书写流             
    |---★BufferedWriter       <- bfw-缓冲书写                     
    |---PipedWriter   
    |---★CharArrayWriter        <- caw-字符数组书写流   
    |---★StringWriter           <- sw-字符串书写流                
    |---FilterWriter                       
    |---★PrintWriter          <- pw-字符打印输出流                      

二、字节流概览

读入流I(用于读取数据源--内存、磁盘、键盘)
InputStream
    |---★FileInputStream              <- fis-文件输入流
    |---★ByteArrayInputStream         <- pais-字节数组输入流
    |---★ObjectInputStream            <- pis-对象输入流
    |---★StringBufferInputStream        <- sbis-字符串缓冲输入流
    |---PipedInputStream               <- pis-管道输入流
    |---FilterInputStream              <- ftis-过滤输入流
        |---★DataInputStream           <- 基本类型输入流
        |---★BufferedInputStream       <- 缓冲输入流
        |---DigestInputStream
        |---PushbackInputStream
输出流O(将数据源引向目的地--内存、磁盘、控制台)
OutputStream
    |---★FileOutputStream           <- fos-文件输出流
    |---★ByteArrayOutputStream       <- baos-字节数组输出流
    |---★ObjectOutputStream          <- oos-对象输出流
    |---PipedOutputStream           <- pos-管道输出流
    |---FilterOutputStream          <- ftos-过滤输出流
        |---★DataOutputStream       <- dos-基本类型输出流
        |---★BufferedOutputStream   <- bfos-缓冲输出流
        |---DigestOutputStream      
        |---★PrintStream            <- ps-字节打印输出流   

三、故事时间:

看起来这么多的类,是不是有点晕,先且听一个故事

第一章 背景(四大流派)

传说中江湖四大流派 字符输入流 , 字符输出流 , 字节输入流 , 字节输出流 ,原本出自一家[ IO流 ]。
IO流 派根据性别修炼功法,分为 输入流 输出流 两大支派,男习 输入流 ,女习 输出流
(可以理解为:男生赚钱输入,女生花钱输出...千万别多想...)

由于【字符】宗师偏爱文本,和【字节】宗师 万物平等 理念不合,所谓道不同,不相为谋。
【字符】宗师敢爱敢恨,自立门派, IO流 自此分成两家: 字符流 字节流

字符输入流 开山祖师名叫 Reader ,性别男 ; 字符输出流 开山祖师名叫 Writer ,性别女。
相传是夫妻二人,两人合作为 文本操作界 带来屡屡清风,但看到【图片】,【视频】等人就心有余而力不足了。

字节输入流 开山祖师名叫 InputStream ,性别男 ; 字节写流 开山祖师名叫 OutputStream ,性别女。
相传是也夫妻二人,两人合作称为 二进制操作界 的栋梁,但识别字符的能力偏弱。

第二章 奇子(转换字节流)

字符流 字节流 向来各行其事,很少有交集。
Reader Writer 有两个奇子,名叫 InputStreamReader (男)和 OutputStreamWriter (女),
可以和 字节流 打交道,并让 字节流 派的人归于 字符流 派。世称两人: 转换字节流

第三章 当代(四大流派掌门人)

字符输入流 掌门人: FileReader ,性别男, InputStreamReader 之子
字符输出流 掌门人: FileWriter ,性别女, OutputStreamWriter 之女
字节输入流 掌门人: FileInputStream ,性别男, InputStream 之子
字节输出流 掌门人: FileOutputStream ,性别女, OutputStream 之女

第四章 装备(装饰流)

四大流派都拥有装备,根据不同装备可以更容易做事

装备1:黄金卡车--Buffered(支持四大门派)
作用:将数据装入卡车,不用一个一个的搬,而是一车一车的搬。

字符输入流 配车: BufferedWriter
字符输出流 配车: BufferedReader
字节输入流 配车: BufferedInputStream
字节输出流 配车: BufferedOutputStream

装备2:基本数据类型黄金铲--Data(仅支持字节两派)
作用:读写基本数据类型实现起来比较费劲,要考虑到不同类型占的字节数区分对待
有了这个装备,一铲一个,给你自动分类型,存取基本数据类型的不二法器
字节输入流 配铲: DataInputStream
字节输出流 配铲: DataOutputStream

装备3:其他数据类型黄金铲

1.字节数组铲--ByteArray(仅支持字节两派)
字节输入流 配铲: ByteArrayInputStream
字节输出流 配铲: ByteArrayOutputStream
2.字符数组黄金铲--CharArray(仅支持字符两派)
字符输入流 配铲: CharArrayReader
字符输出流 配铲: CharArrayWriter
3.字符串组黄金铲--String(支持三大门派)
字符输入流 配铲: StringReader
字符输出流 配铲: StringWriter
字节输入流 配铲: StringBufferInputStream







请到「今天看啥」查看全文


推荐文章
西藏发布  ·  进出藏机票、火车票补贴来了!
21 小时前
西藏发布  ·  进出藏机票、火车票补贴来了!
21 小时前
食尚知味  ·  陈-道明受宠中-央的背后真相
8 年前