掌握-----字节流与字符流

来源:互联网 发布:手机备份软件排名 编辑:程序博客网 时间:2024/04/28 17:48

什么叫做“流”?

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


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

IO中两大流-----字节流与字符流

字节流主要涉及OutputStream(输出流)、InputStream(输入流)。

字符流主要涉及Writer(输出流)、Reader(输入流)。

IO操作基本流程:

①使用File类打开一个文件;

②通过字节流或字符流的子类,指定输出的位置;

③进行读或写的操作;

④关闭输入流或输出流。

注意

①使用File类操作的时候一定要有路径的问题,注意分隔符;

②四个操作类都是抽象类;

③IO操作属于资源操作,对于资源操作,操作的最后必须关闭,否则就有可能出现未知的错误。

字节流

①主要操作的是byte类型数据,以byte数组为准。

②在操作字节流输出流时候,如果文件本身不存在,则会为用户自动创建新文件。

③如果要想执行追加的功能,则必须设置追加的操作,设置一个标志位即可。

④字节输入流如果不知道读取内容有多大的时候,只能通过读取的数据是否为-1为文件末尾的标识来确认读完的标志。

注意:如果在文件操作中想换行的话,使用”\r\n“完成。

字符流

①主要操作的是char类型数据,以char数组为准(也可以用String)。

②在操作字符流输出流时候,如果文件本身不存在,则会为用户自动创建新文件。

③如果要想执行追加的功能,则必须设置追加的操作,设置一个标志位即可。

④字符输入流如果不知道读取内容有多大的时候,只能通过读取的数据是否为-1为文件末尾的标识来确认读完的标志。

字节流与字符流的区别

①字节流没有使用到了缓冲区;

②字符流使用到了缓冲区。


验证方式:通过是否关闭流来验证。可以发现在使用字节流的时候,如果没有关闭,内容会正常输出;而对于字符流,内容会丢失。

原因:字符流的内容保存在了缓冲区当中,而如果执行关闭的时候会强制性的刷新缓冲区,把内容进行输出。

常见的问题:在开发中是使用字节流还是字符流好?

回答:所有的文件在硬盘或传输的时候都是以字节的方式进行的,包括图片等都是按字节的方式存储的,而字符只有在内存中才会形成。因此,开发中使用字节流较为广泛。

 

 

0 0
原创粉丝点击