java 中 IO 流
-
按数据流向:输入流和输出流
输入和输出都是从程序的角度来说的。输入流:数据流向程序;输出流:数据从程序流出。 -
按处理单位:字节流和字符流
字节流:一次读入或读出是8位二进制;字符流:一次读入或读出是16位二进制。
JDK中后缀是Stream是字节流;后缀是Reader,Writer是字符流。 -
按功能功能:节点流和处理流
节点流:直接与数据源相连,读入或写出;处理流:与节点流一块使用,在节点流的基础上,再套接一层。
最根本的四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)
四大类的扩展,按处理单位区分
-
InputStream: FileInputStream、PipedInputStream、ByteArrayInputStream
BufferedInputstream、SequenceInputStream、DataInputStream、ObjectInputStream -
OutputStream:FileOutputStream、PipedOutputStream、ByteArrayOutputStream
BufferedOutputStream、DataOutputStream、ObjectOutputStream、PrintStream -
Reader: FileReader、PipedReader、CharArrayReader
BufferedReader、InputStreamReader -
Writer: FileWriter、PipedWriter、CharArrayWriter
BufferedWriter、InputStreamWriter、PrintWriter
常用的流
-
对文件进行操作:FileInputStream(字节输入流)、FileOutputStream(字节输出流)、FileReader(字符输入流)、FileWriter(字符输出流)
-
对管道进行操作:PipedInputStream(字节输入流)、PipedOutStream(字节输出流)、PipedReader(字符输入流)、PipedWriter(字符输出流)。
PipedInputStream的一个实例要和PipedOutputStream的一个实例共同使用、共同完成管道的读取写入操作。主要用于线程操作。 -
字节/字符数组:ByteArrayInputStream、ByteArrayOutputStream、CharArrayReader、CharArrayWriter是在内存中开辟了一个字节或字符数组。
Buffered缓冲流::BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
带缓冲区的处理流、缓冲区的作用的主要目的是:避免每次和硬盘打交道、提高数据访问的效率。 -
字节转化成字符流:InputStreamReader、OutputStreamWriter
-
数据流:DataInputStream、DataOutputStream
数据流可以直接输出float类型或long类型、提高了数据读写的效率 -
打印流:printStream、printWriter
-
对象流:ObjectInputStream、ObjectOutputStream
-
序列化流:SequenceInputStream

浙公网安备 33010602011771号