当不同的介质之间有数据交互的时候,JAVA就使用流来实现。 数据源可以是文件,还可以是数据库,网络甚至是其他的程序。 比如,站在程序的角度来看,就叫做输入流。反之就是输出流 输入流
根据按照流向可分为:输入流(读取文件的数据到程序中,读取数据)和输出流(读取程序的数据写出到文件中,写出数据)
根据按照数据类型可分为:字节流(传输数据的最基本单位是字节的流)和字符流(传输过程中,传输数据的最基本单位是字符的流)
字节流可分为:字节输入流(读取数据 InputStream)和字节输出流(写出数据 OutputStream) 以Stream结尾大多数是字节流
字符流可分为:字符输入流(读取数据 Reader)和字符输出流(写出数据 Writer)
InputStream 是所有的输入字节流的父类 它是一个抽象类 其子类包括 ByteArrayInputStream StringBufferInputStream FileInputStream 分别从Byte 数组 StringBuffer 和本地文件中读取数据 PipedInputStream是从与其它线程共用的管道中读取数据
原文:https://www.cnblogs.com/renxixao/p/11456699.html