A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、缓冲流为什么会提高IO流读写的效率?
在创建缓冲流的时候,会创建一个内置的默认大小(8196)的缓冲区数组,会将读取的字节都存储到缓冲区中再进行传输,写入也是通过缓冲区将缓冲区中的字节写入到文件中。通过缓冲区读写,减少java程序和文件的交互次数,从而提高读写的效率。

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
在读写过程中,如果编码格式和解码格式操作的字符集不一致就会造成乱码。可以通过转换流解决,指定对应的编码格式和解码格式,让们格式相同,就能够解决乱码问题。

3、序列化流中的serialVersionUID的作用

可以固定序列号,让它不会因.class修改发生序列化变化,反序列化时抛出InvalidClassException异常。

4、请根据自己的语言表述IO流的体系
(1)IO流按照流动的方向,以内存为基准,分为输入流和输出流;格局数据的类型分为字节流和字符流。
(2).IO流包括基本字节流,字符流(从字节流衍生而来,由于字节在读取中文时,只能读取中文字符的一部分,产生了字符流),在这两个流的基础上加强的有缓冲流(将两个流进行增强,提高读写的效率),转换流(由于在编码格式和解码格式不一致,出现乱码,需要指定对应编码的字符集和解码字符集,解决编码和解码格式不一致问题),序列化流(将对象封装再进行序列化成字节进行保存,反序列化时将字节转为对象展示,可以防止文本被修改问题)及打印流(为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式),根据具体的应用场景和需求来选择与之对应的流对象进行操作。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马