I/O:jvm和外部数据源的数据交换。
流一共有三种分类:
方向分:输入流和输出流;
输入流: 读取文件 (e:\\a.txt):从硬盘上文件读取出来后输出这个文件的内容输出流: 写文件:将e:\\a.txt 内容读出来--->写到f盘下
单位分:字节流和字符流;
字节流:
InputStream/OutputStream 字节流的父接口FileInputStream/FileOutputStream 文件字节流(可以向下转换)
DataInputStream/DataOutputStream 读写8种基本类型和以UTF-8读写String
BufferedInputStream/BufferedOutputStream 带缓冲的输入/出流
PrintStream 融合Data和Buffered, System.out所属的类
Piped 管道 用于线程间交换数据
RandomAccessFile 随机访问文件
字符流:处理字符编码问题
Reader/Writer 字符流的父接口FileReader/FileWriter 文件字符流
BufferedReader/PrintWriter 有缓冲的字符流
功能分:节点流和过滤流;
节点流:用于传输数据。过滤流:帮助节点流更好的传输数据。
piped(管道节点流):用于两个线程间传输数据。一个线程的输出,是另一个线程的输入。