2020-09-08-Java IO流

学习内容-IO流:

简介:
I/O类库中使用“流”这个抽象概念。Java对设备中数据的操作是通过流的方式。
IO流用来处理设备之间的数据传输。设备是指硬盘、内存、键盘录入、网络等。
Java用于操作流的对象都在IO包中。使用IO流需要导包如:import java.io.*;

作用:
IO流是用来操作文件的,对文件的内容进行读和写。


具体代码

IO流几种具体操作方式


字节流与字符流区别:

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。

程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。

字节流与字符流操作流程基本一样
1.用File打开一个文件
2.创建流
3.通过流读取内容
4.关闭流

区别

字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的。(并不是说字节流不会用到缓冲区,字节流也可以用缓冲字节流)

字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,但是如果字符流不使用close方法的话,则不会输出任何内容,说明字符流用的是缓冲区,并且可以使用flush方法强制进行刷新缓冲区,这时才能在不close的情况下输出内容。

什么是缓冲区?

你可以自己定义一个字节或字符数组,作为缓冲区,这样可以提升文件读写效率。

而缓冲流内部封装了一个字节数组,默认长度为8192,也能够较大程度的提高读写效率,是对字节数组进行操作。一般小文件不用缓冲区,因为看不到性能的明显提升,大文件的流操作用缓冲区效果显著。

猜你喜欢

转载自blog.csdn.net/weixin_44158992/article/details/108472512