一.概述
IO流是用来处理设备间的数据传输。(上传文件和下载文件)
所谓流,就是数据传输的通道。
IO流分类:
按流向:
1.输入流
2.输出流
按传输的数据类型:
1.字节流
输入字节流:InputStream
输出字节流:OutputStream
2.字符流
输入字符流:Reader
输出字符流:Writer

二.字节流
字节流基类
字节文件操作流
1. FileInputStream:用来读取诸如图像数据的原始字节流。(数据文件必须提前创建好)
方法:
read():从该输入流读取一个字节的数据
read(byte[] b):从该输入流读取最多b.length个字节的数据为字节数组
read(byte[] b,int off,int len):读取偏移量为off,最大长度为len的字节数组
2.FileOutputStream:用于写入诸如图像数据的原始字节流
方法:
write(int b):将指定的字节写入此文件
write(byte[] b):将指定的字节数组写入此文件
write(byte[] b,int off,int len):写入偏移量为off,最大长度为len的字节数组
注意:如何判断怎么才算是读取,怎样才算是写入,首先要选择好参照物。
我们是编程人员,所以要站在程序的角度来思考问题。因此,Input和Output都应该是相对于程序而言。
Input:是输入的意思,那就是将硬盘(或其他设备)上的数据输入到程序的控制台上。
使用的方法是read(),即读取的意思。(即:通过程序将硬盘上原本存在的文件显示出来)
Output:是输出的意思,那就是将程序的数据输出到硬盘上。
使用的方法是write(),即写入的意思。(即:调用程序后会自动在硬盘上创建一个文件,并把指定内容写入到该文件中)
字节缓冲流
1.BufferedInputStream
2.BufferedOutputStream
三.字符流
字符流基类
字符转换流
字符缓冲流
原文:https://www.cnblogs.com/benon94/p/13025047.html