黑马程序员--IO流总述
来源:互联网 发布:string数组 添加 编辑:程序博客网 时间:2024/06/16 18:26
——- android培训、java培训、期待与您交流! ———-
1.1 什么是IO流
IO流用来处理设备之间的数据传输。Java对数据的操作是通过流的方式。输入流和输出流相对于内存设备(也可以理解为我们的程序)而言。
1.2 IO流的定义分类
a)按照操作类型分类:
- 字节流 (一次读入或读出是8位二进制)
- 字符流 (一次读入或读出是16位二进制)
b)按照数据流向分类:
- 输入流
- 输出流
c)按照实现功能分类:
- 节点流 (直接与数据源相连,读入或读出)
- 处理流 (在节点流的基础上,再套接一层,套接在节点流上的就是处理流)
1.2 IO流的体系
注:上图按照操作类型分类
Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)。 tip:名字中包含Reader和Writer的都是字符流;名字中包含InputStream和OutputStream的都是字节流
1.2.1 字符流和字节流的区别
字节流读取的时候,读到一个字节就返回一个字节。字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在 UTF-8码表中是 3 个字节)时。先去查指定的编码表,将查到的字符返回。
字节流可以处理所有类型数据,除文本数据外如图片,mp3,avi 。而字符流只能处理文本数据
1.2.2 流的扩展分类
说明:
打印流 :一般是打印到控制台,可以进行控制打印的地方。
管道流 :PipedInputStream的一个实例要和PipedOutputStream的一个实例共同使用,共同完成管道的读取写入操作。主要用于线程操作。
序列流 :可以将流合并,可以用于数据的切割和合并。
对象序列化流:对象序列化,把对象直接转换成二进制,写入介质中。使用对象流需要实现Serializable接口,否则会报错。
1.3 总结
只要是处理纯文本数据,就要优先考虑使用字符流。除此之外都用字节流
流对象基本上都是成对出现的,有特定的输出流就有对应该流行的出入流,根据这个规律可以方便记忆
处理流是在字节流的基础上实现的,所以使用处理流的时候在最里层需要传入字节流的对象
-
0 0
- 黑马程序员--IO流总述
- 黑马程序员 IO
- 黑马程序员之IO
- 黑马程序员 IO流
- 黑马程序员之IO
- 黑马程序员--IO
- 黑马程序员IO流
- 黑马程序员-io
- 黑马程序员-IO流
- 黑马程序员-IO
- 黑马程序员---IO流
- 黑马程序员-----IO流
- 黑马程序员~IO流小述
- 黑马程序员--io流
- 黑马程序员:IO流
- 黑马程序员----IO流
- 黑马程序员->IO
- 黑马程序员--IO流
- [leetcode 236]Lowest Common Ancestor of a Binary Tree
- 配置MySQL大小写敏感
- java容器类---Hashtable
- ubuntu下nginx的安装
- hpu 2015-8-8周赛
- 黑马程序员--IO流总述
- 通过未初始化全局变量,研究BSS段和COMMON段的不同
- matlab画神经网络的结构 neural network
- javaweb中利用filter进行修改字符集
- java char 和 int 向上转型
- <Fast Tracking via Spatio-Temporal Context Learning> 阅读和算法使用总结
- Spring AOP 实现原理
- Heros and Swords (周赛1)
- 找不到类FeatureQuery解决办法