流是用来干什么的?
使用流的主要目的是保持数据的永久性。
根据数据的流向分为输入流和输出流;根据处理数据的类型分为字符流和字节流。
JDK所提供的所有流都位于Java.IO包中,IO部分所涉及的流有:标准的输入输出流、文件的操作流、网络数据流、字符串流、对象流等等。
所有的输入流都是抽象类InputStream(字节输入流)或者抽象类reader(字符输入流)的子类;而所有的输出流都是抽象类OutputStream(字节输出流)或者抽象类write(字符输出流)的子类。
对输入输出流的可以理解为:输入流是用来读(read)文件的,而输出流是用来写(write)文件的。
输入输出流的结构层次
输入流结构层次:
输出流结构层次: