Java.io包中第一了多个流类型来实现输入输出功能;
1:按数据流的方向不同可以分为输入流和输出流
输入流输出流都是站在程序的角度上来说的
2:按处理数据单位不同可以分为字节流和字符流
按字节和字符(2个字节)来读
3:按功能不同可以分为节点流和处理流
节点流直接连接数据和程序,处理流是包在节点流外面的高级流
继承自InputStream的流都是用于向程序输入数据的,且数据的单位为字节,以下的流都是InputStream的子类,分为节点流和处理流:
节点流:FileInputStream,PipedInputStream,ByteArrayInputStream,StringBufferInputStream
处理流:FilterInputStream,SequenceInputStream,ObjectInputStream
FilterInputStream的子类都是以下处理流:DataInputStream,BufferedInputStream,PushbackInputStream,LineNumberInputStream
继承自OutputStream的流都是用于从程序输出数据的,且数据的单位为字节,以下的流都是OutputStream的子类,分为节点流和处理流:
节点流:FileOutputStream,PipedOutputStream,ByteArrayOutputStream
处理流:FilterOutputStream,ObjectInputStream
FilterOutputStream的子类都是以下处理流:
DataOutputStream,BufferedOutputStream,PrintStream
继承自Reader的流都是用于向程序输入数据的,且数据的单位为字符,以下的流都是Reader的子类,分为节点流和处理流:
节点流:CharArrayReader,PipedReader,StringReader
处理流:BufferReader,InputStreamReader,FilterReader
FileReader继承InputStreamReader,是节点流
继承自Writer的流都是用于从程序输出数据的,且数据的单位为字符,以下的流都是Writer的子类,分为节点流和处理流:
节点流:CharArrayWriter,PipedWriter,StringWriter
处理流:BufferedWriter,OutputStreamWriter,FilterWriter,
FileWriter继承OutputStreamWriter,是节点流