天天看点

字节流

字节流

IO:输入/输出(Input/Output)

流:一种抽象概念,是对数据传输的总称

IO流是用来处理设备间数据传输问题的

常见应用:文件复制、文件上传、文件下载

按照数据的流向:

​ 输入流:读数据

​ 输出流:写数据

按照数据类型:

​ 字节流:字节输入流;字节输出流

​ 字符流:字符输入流;字符输出流

一般来说,IO流的分类是按照数据类型来分的

通过Windows自带记事本打开,能读懂,就使用字符流。否则,字节流。不知道使用哪种类型的流时,使用字节流

InputStream:这个抽象类是表示字节输入流的所有类的超类

OutputStream:这个抽象类是表示字节输出流的所有类的超类

子类名特点:子类名称都是以其父类名作为子类名的后缀

FileOutputStream:文件输入流用于将数据写入File

finally:在异常处理时提供finally块来执行所有清除操作。比如说IO流中的释放资源

特点:被finally控制的语句一定会执行,除非JVM退出

BufferedOutputStream:该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用。

BufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组。 当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多字节。

构造方法:

字节缓冲输出流

BufferedOutputStream(OutputStream out)

字节缓冲输入流

BufferedInputStream(InputStream in)

字节缓冲区仅仅提供缓冲区,而真正的读写数据还得依靠基本的字节流对象进行操作