博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的IO流
阅读量:4704 次
发布时间:2019-06-10

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

JavaIO流

1.IO流的定义理解

 IO流(input输入/output输出)流: 对象据的读写操作,读(read):理解为对已有数据的获取,例如U盘插入电脑,会扫描检测;  写(write):理解为将获取到的数据存储/记录,例如一部电影拷贝到U盘就是就是写入数据到U盘

2.IO流的分类

 3. IO流的类

 

4. 常见的流

字节流:InputStream/OutputStream (抽象类)的子类。如:FileInputStream

字符流:Reader/Writer(抽象类)的子类。如FileReader

节点流:直接封装数据源(File对象)的流类。如FileReader(File file);

过滤流:封装流对象(Reader  reader)的类。BufferReader( FileReader  fileReader);

字节文件流: FileInputStream/FileOutputStream(处理图像,音频等)

字节缓冲流: BufferedInputStream/BufferedOutputStream(高效率)

字符转换流: InputStreamReader/OutputStreamReader(字节流转字符流)

字符缓冲流: BufferedReader/ BufferedWriter(高效率)

对象流: ObjectInpuStream/ObjectOutpuStream(处理序列化)

使用场景:

字符流: 处理纯文本类型,如txt,不能处理非文本类型,如音频,图像(字符流推荐使用缓冲字符流: BufferedReader/BufferedWriter --处理大文件,读取方式可以by 一个字节,或指定字节数组大小)

字节流: 图像,音频,,ppt,word文档,也可处理文本文件但效率低(字节流推荐使用字节缓冲流: BufferedInputStream / BufferedOutputStream ---处理大文件,读取方式可以by 一个字节,或指定字节数组大小)

5.字节/字符流的读+取效率测试

①字节 :使用字节文件流FileInputStream/FileOutputStream    读按方式: 一个一个字节

②字节: 使用字节文件流FileInputStream/FileOutputStream    读按方式: 指定字节数组大小

③字节: 使用字节缓冲流BufferedInputStream/BufferedOutputStream    读按方式: 一次读取一个字节

 

 ④字符:使用字符转换流(字节流转字符流)InputStreamReader/OutputStreamWriter读取文本文件(.txt)

 

 ⑤字符:使用字符缓冲流BufferedReader/BufferedWriter读取文本文件(.txt)

 

6.对象序列化使用的对象字节流ObjectOutputStream / ObjectInputStream

①一个实现序列化Serializable接口的pojo类  Employer

②序列化 对象 : 就是将对象的状态信息转换为可以存储或传输形式的过程(这里生成一个文件保存)

String source = "D:\\employer.ser";

Employer employer = new Employer("胖大海",22,"广东深圳",123); --- obj

③反序列化: 将数据格式装换成对象的过程

④结果

序列化:  Employer employer = new Employer("胖大海",22,"广东深圳",123);

反序列化

 

----------------------------------------------------------- 能力有限,希望包含~~

转载于:https://www.cnblogs.com/romulus/p/11055804.html

你可能感兴趣的文章
加快开发时间的8个CSS的预处理程序
查看>>
dom元素高度、屏幕高度 获取
查看>>
asp.net 设置session失效时间
查看>>
杭电多校第四场 E Matrix from Arrays
查看>>
ReactiveCocoa操作方法-线程\时间
查看>>
oracle 分析函数
查看>>
CHD-5.3.6集群上sqoop安装
查看>>
解决无/var/log/messages 问题
查看>>
js 判断是不是空、值是否存在
查看>>
分布式一致性协议-2PC与3PC(二)
查看>>
SCP-bzoj-1079
查看>>
Python 实践项目 游戏
查看>>
AJAX--Jquery
查看>>
模拟新浪微博随便看看
查看>>
环境搭建
查看>>
解密EXL
查看>>
简易版cnlog
查看>>
erlang程序运行的几种方式
查看>>
堆heap和栈Stack(百科)
查看>>
html5页面实现点击复制功能
查看>>