java中流总体整理

前一段时间看了一下Java中流的概念,整理一下

流根据输入方向的不同分为输入流,输出流

根据处理单位的不同分为字节流,字符流

根据作用不同分为节点流,处理流

一般情况下是根据作用不同做区分:

节点流: ByteArrayInputStream,CharArrayReader(对应的ByteArrayOutputStream和CharArrayWriter,以下省略

               FileInputStream ,FileReader

               PipedInputStream,PipedReader

               StringReader(只有字符流)

处理流:FilterInputStream,FilterReader

             BufferedInputStream, BufferedReder

扫描二维码关注公众号,回复: 3691345 查看本文章

             InputStreamReader

             ObjectInputStream(只有字节流)

             LineNumberInputStream LineNumberReader(只有输入流)

             DataInputStream DataOutputStream(只有字节流)

            PushbackStream PushbackReader(只有输入流)

            PrintStream PrintWriter(只有输出流)


字节流和字符流是流的一种划分,按照处理流的数据单位进行的划分,两类都分为输入和输出操作,字节流输出数据OutputStream,输入InputStream
字符流输出Writer,输入Reader完成。四个都是抽象类。
字符流处理的单元为两个字符的Unicode字符,操作字符、字符数组或字符串。字节流处理单元为1个字节,操作字节和字节数组,字节流是最基本的,所有inputstream和outputstream的子类都是字节流,主要用在处理二进制数据,按照字节来处理的,实际中很多的数据是文本,于是又产生了字符流,它是按照虚拟机的编码来处理,也就是要进行字符集的转化,这两个之间通过inputStreamReader和outputStreamWriter(转换流)来关联,实际上是通过byte[]和string来关联的。

猜你喜欢

转载自blog.csdn.net/qq_35129986/article/details/80520765