博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java I/O流的总结
阅读量:5364 次
发布时间:2019-06-15

本文共 762 字,大约阅读时间需要 2 分钟。

I/O的类结构图

 

I/O的分类      

根据处理的数据类型分为:字节流和字符流。

根据数据流向分为:输入流和输出流。

流又可分为节点流和处理流。

节点流

直接与数据源相连

处理流

与节点流一起使用,在节点流的基础上,再嵌套一层。提高文件的读取效率。

输入流

InputStream

作用是以字节的形式读取数据源产生的数据。

Reader

作用是以字符的形式读取数据源产生的数据。

输出流

OutputStream

作用是以字节的形式在接收端写数据。

Writer

作用是以字符的形式在接收端写数据。

常用的流

缓冲流

作用:缓冲流提供缓冲区,先把数据写入缓冲区,当缓冲区写满之后,再把缓冲区的内容写到文件中去。这样会提高读取效率。

对象流

作用:用于写入/读取对象的信息,使对象持久化。

使用的注意事项:

       1.如果想将一个对象写入到磁盘中,那么对象所属的类必须要进行序列化,实现Serializable 接口,Serializable接口没有任何方法 ,是一个标记接口

       2.如果对象所属的类的成员变量发生改变,你在读取原来的对象是就会报错,如果想要解决报错,保证serialVersionUID是唯一。
       3.如果你不想将某些信息存入到磁盘 就可以同过transient关键字修饰成员变量
       4.如果一个类中引用了另外的一个类,那么另外的这个类也要实现Serializable接口。

管道流

作用:可以进行两个线程之间的通信。一个线程作为管道输出流,另一个作为管道输入流。

转换流

作用:用于字节流和字符流的转化。

InputStreamReader:将字节流转换为字符流

OutputStreamWriter:将字符流转换为字节流

转载于:https://www.cnblogs.com/quanhuan/p/6803891.html

你可能感兴趣的文章
Hibernate Criterion
查看>>
Python知识
查看>>
我们为什么要搞长沙.NET技术社区(三)
查看>>
杭电acm Cake
查看>>
js函数中this的指向
查看>>
c++ 引用方式传递数组
查看>>
HBase学习之路 (九)HBase phoenix的使用
查看>>
LeetCode() Remove Duplicates from Sorted Array II
查看>>
【svn】idea svn 文件上会出现一个破书
查看>>
cocos2d-x 3.0 场景切换特效汇总(转)
查看>>
The SortedMap Interface
查看>>
SniperOJ-leak-x86-64
查看>>
bzoj 4260: Codechef REBXOR (01 Trie)
查看>>
学好python
查看>>
css-IE中的border-radius和box-shadow
查看>>
利用bootstrap和webform的异步CRUD及分页
查看>>
HDUOJ 1879继续畅通工程(并查集)
查看>>
OC12_自动释放池
查看>>
Saiku资源帖
查看>>
解决手机页面中点击文本框,网页放大问题
查看>>