流:流是输入/输出设备的一种抽象表示,这些设备是暑假源头或是数据终点,可以把流看作是流入或是流出你的程序的字节序列
输出流:当向一个流中写数据的时候,这个流就被称为输出流,(磁盘文件、连接用户系统与远程系统的电话线路、显示器)
输入流:原则上,输入流可以是任何序列化数据源,但典型情况却是磁盘文件、键盘、或者远程计算机
两种类型的流:
1.字节流
InputStream直接子类:
AudioInputStream, ByteArrayInputStream, FileInputStream,
FilterInputStream, InputStream, ObjectInputStream, PipedInputStream,
SequenceInputStream, StringBufferInputStream
OutputStream直接子类:
ByteArrayOutputStream, FileOutputStream,
FilterOutputStream, ObjectOutputStream, OutputStream, PipedOutputStream
2.字符流
Reader直接子类:
BufferedReader, CharArrayReader, FilterReader, InputStreamReader, PipedReader, StringReader
Writer直接子类:
BufferedWriter, CharArrayWriter, FilterWriter,
OutputStreamWriter, PipedWriter, PrintWriter, StringWriter
InputStreamReader:
InputStreamReader将所有操作委托给内部的StreamDecoder实例。