本文主要是针对 Java I/O 流的相关介绍,包含流分类、类结构、以及常见的使用方法规律等。
流的概念
Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。流是一组有顺序的,有起点和终点的字节集合,流是一组有顺序的,有起点和终点的字节集合。
流的分类
- 根据处理数据类型的不同分为:字符流和字节流
-
字符流和字节流
字节流和字符流的区别:
读写单位不同:字节流以字节(8bit)为单位,字符流以字符(16bit)为单位,Java中的字符是Unicode编码,一个字符占用两个字节。
处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
输入流和输出流
流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流
- 对输入流只能进行读操作,对输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流
致谢
参考系列文章:skywang12345 - Java IO 系列
如有侵权,请联系作者删除。