Java-IO流简介(一)
Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
Java流的分类
按流向分:
输入流:只能从中读取数据,而不能向其中读取数据。(从磁盘到内存的一个过程)
输出流:只能向其写入数据,不可从中读取数据。(从内存到磁盘的一个过程)
按数据传输单位分:
字节流:以字节为单位传输数据的流(操作的数据单元是8位的字节)
字符流:以字符为单位传输数据的流(操作的数据单元是16位的字符串)
按功能分:
节点流:用于直接操作目标设备的流 (直接)
处理流:是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。(间接)
Java输入/输出流体系中常用的流分类
分类 | 字节输入流 | 字节输出流 | 字符输入流 | 字符输出流 |
抽象基类 | InputStream | OutputStream | Reader | Writer |
访问文件 | FileInputStream | FileOutputStream | FileReader | FileWriter |
访问数组 | ByteArrayInputStream | ByteArrayOutputStream | CharArrayReader | CharArrayWriter |
访问管道 | PipedInputStream | PipedOutputStream | PipedReader | PipedWriter |
访问字符串 | StringReader | StringWriter | ||
缓冲流 | BufferedInputStream | BufferedOutputStream | BufferedReader | BufferedWriter |
转换流 | InputStreamReader | OutPutStreamWriter | ||
对象流 | ObjectInputStream | ObjectOutputStream | ||
抽象基类 | FilterInputStream | FilterOutputStream | FilterReader | FilterWriter |
打印流 | PrintStream | |||
推回输入流 | PushbackInputStream | PushbackReader | ||
特殊流 | DataInputStream | DataOutputStream |