流的概述:
在java中,将不同的输入输出源通过流的形式进行相关操作(输入,输出),流是一种抽象描述,在程序中表示数据的一种转移方式
Jdk提供了各种不同的流用于处理不同的输入输出源,根据流性质划分分为以下类型:
-
按流向分(站在程序角度考虑)
- 输入流(input)
- 输出流(output)
-
按类型分:
- 字节流(InputStream/OutputStream)
- 任何文件都可以通过字节流进行传输。
- 字符流(Reader/Writer)
- 非纯文本文件,不能用字符流,会导致文件格式破坏,不能正常执行。
- 节点流(低级流:直接跟输入输出源对接)
- FileInputStream/FileOutputStream/FileReader/FileWriter/PrintStream/PrintWriter.
- 处理流(高级流:建立在低级流的基础上)
- 转换流:InputStreamReader/OutputStreamWriter,字节流转字符流/字符流转字节流
- 缓冲流:BufferedInputStream/BufferedOutputStream
- BufferedReader/BufferedReader可对节点流经行包装,使读写更快
- 字节流(InputStream/OutputStream)