栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

简述io流的概念(io流是什么)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简述io流的概念(io流是什么)

IO流:可以把它理解为一种传输数据的管道;利用它可以来做 数据的读写,文件的上传、下载 ;传输的内容 先入先出。

数据源--->IO流--->目的地

流的分类

按操作单元分:

        1.字节流:万能流,任何数据都可

        2.字符流:仅限于纯文本内容

按流向分:

        1.输入流

        2.输出流

按功能分:

        1. 节点流:可以真实做读入写出

        2.功能流:增强节点流的功能 

节点流

字节流(可多态)

InputStream(所有字节输入流的父类) OutputStream(所有字节输出流的父类)

FileInputStream 文件字节输入流

1.创建文件 2.创建输入流 3.读入 4.关闭

FileOutputStream 文件字节输出流

1.创建输出流 2.写入 3.刷出 3.关闭

字节流文件的copy

1.构建流

        1)输入流  FileInputStream

        2)输出流  FileOutputStream

2.读入写出  .read()   .write()

3.刷出  .flush()        4.关闭(先打开的后关闭)      .close()

字符流

Reader(所有字符输入流的父类)      Writer(所有字符输出流的父类)

与上述字节流都类似,只不过类变了

功能流

1.Buffered缓冲流 :加节点流的读写效率

使用 :包裹节点流使用

字节缓冲流:BufferedInputStream   BufferedOutputStream 

eg:InputStream  in=new  BufferedInputStream(new InputStream("D:\test.txt"))

字符缓冲流:(不可发生多态,有新增方法)   

字符输入流:BufferedReader    增:StringeradLine()  一次性读一行数据,默认null

字符输出流:BufferedWriter       增:void newline()  换行

2.Data流|基本数据类型流(字节)

读写+保留原始数据类型(基本数据+字符串类型)

DataInputStream     增:readXxx()

DataOutputStream    增:WriterXxx()          Xxx为数据类型

注意:

1.读入与写出顺序一致

2.读入时必须从文件读入

3.Object流(字节)

操作对象+各种数据类型

序列化:把数据对象转化为可传输内容

序列化输出:ObjectOutputStream  增:void writeObject(Object obj)

反序列化输入:ObjectInputStream   增:Object readObject()

先序列化后反序列化

注意:

1.读入与写出顺序一致

2.对象实现序列化需要接口 Serializable

3.成员被transient修饰的不能被序列化

4.成员被static修饰的不能被序列化

父类序列化,子类没有,子类可以继承父类的序列化内容;反之则不可

序列号:实现了序列化的类会自动生成序列号,成员变动序列号会自动更新 

手动生成:1.实现接口

                  2.选中类名,Alt+Anter生成

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号