IO流概述

前言

最近老师使用了一周的时间将IO流讲完了,为了避免辜负他的心血,将IO分为多个部分进行总结整理,供你们学习参考,也方便本身复习使用!数组

流概念

  流是个抽象的概念,bai是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操做都是以“流”的方式进行。设备能够是文件,网络,内存等。
  流具备方向性,至因而输入流仍是输出流则是一个相对的概念,通常以程序为参考,若是数据的流向是程序至设备,咱们成为输出流,反之咱们称为输入流。
  能够将流想象成一个“水流管道”,水流就在这管道中造成了,天然就出现了方向的概念。网络

IO流概述

当程序须要从某个数据源读入数据的时候,就会开启一个输入流,数据源能够是文件、内存或网络等等。相反地,须要写出数据到某个数据源目的地的时候,也会开启一个输出流,这个数据源目的地也能够是文件、内存或网络等等。ide

IO流分类

按照数据流向

输入流:从外界(键盘、网络、文件…)读取数据到内存
输出流:用于将程序中的数据写出到外界(显示器、文件…)
数据源 目的地学习

按照数据类型

字节流:主要用来处理字节或二进制对象。
字节输入流(InputStream)
字节输出流 (OutputStream)
字符流:主要用来处理字符、字符数组或字符串。
字符输入流(Reader)
字符输出流(Writer)对象

按照功能类型

节点流:从一个特定的数据源读写数据。从一个特定的数据源读写数据。
处理流:“链接”在已存在的流(节点流或处理流)之上经过对数据的处理为程序提供更为强大的读写功能。图片

字节流和字符流的区别:

读写单位不一样:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
处理对象不一样:字节流能处理全部类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
选取:只要是处理纯文本数据,就优先考虑使用字符流,除此以外都使用字节流。内存

总结

本篇主要是将流的概述以及io流的分类进行总结一下,下面将对每种进行具体聊!字符串

相关文章
相关标签/搜索