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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、缓冲流为什么会提高IO流读写的效率?
缓冲流在创建流对象时,会增加一个默认大小8192的缓冲区,可以通过这个缓冲区进行读写,减少了Java程序、JVM和OS系统的交互次数,从而提高IO流读写的效率   

2、我们在读写过程中,什么情况下会发生写入乱码问题?是怎样产生的?我们是如何解决的?
当写入的格式和文件的格式不符时;编码的格式和解码的格式不一致;可以使用转换流中的OutputStreamWriter类,在创造对象时通过构造方法指定对应的编码表,再使用write()方法进行写入

3、序列化流中的serialVersionUID的作用
serialVersionUID  目的在于验证序列化的对象和对应类是否版本匹配。     

4、请根据自己的语言表述IO流的体系
IO流可以看作数据的流动,按方向可以分为输出流(把数据从内存中写入到硬盘中)和输入流(从硬盘中读取数据到内存中);按数据格局可以分为字节流(以字节为单位)、字符流(以字符为单位,适用于文本),字节流分为字节输入/输出流,字符流分为字符输入/输出流;
在此基础上增加了缓冲流,分为字节缓冲流和字符缓冲流(创建流对象时,会增加一个默认大小8192的缓冲区,可以通过这个缓冲区进行读写,减少了Java程序、JVM和OS系统的交互次数,从而提高IO流读写的效率 ),其中字符缓冲流特有方法BufferedReader: public String readLine() : 读一行文字。 BufferedWriter: public void newLine() : 换行;
转换流我们可以自定义编码格式和解码格式解决乱码 问题,转换流分为InputStreamReader和OutputStreamWriter;
序列化分为序列化流ObjectOutputStream:将对象转为二进制存储,反序列化流ObjectInputStream:将二进制转为对象展示;
打印流PrintStream,调用 print()方法和 println()方法,能够方便地打印各种数据类型的值,是一种便捷的输出方式。   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马