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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2019-3-30 16:45  /  4669 人查看  /  60 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.什么是输入流?什么是输出流?
输入流:
从内存的角度看,数据从外部输入到内存中的数据流。
输出流:
从内存的角度看,数据从内存输出到硬盘中文件的数据流。
2.输入流读取有几种方式,输出流写出有几种方式?
输入流读取的方式:
(1)读取字节:read方法,每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回-1。
(2)使用字节数组读取:read(byte或char[] b),每次读取b的长度个字节到数组中,返回读取到的有效字节个数,读取到末尾时,返回-1 。
输出流写出的方式:
(1)写出字节:write(int b) 方法,每次可以写出一个字节数据。
(2)写出字符数组 :write(char[] cbuf) 和 write(char[] cbuf, int off, int len) ,每次可以写出字符数组中的数据。
(3)写出字符串:write(String str) 和 write(String str, int off, int len) ,每次可以写出字符串中的数据,更为方便。
3.字符流和字节流的区别?
(1)字符流包含了编解码的信息,可以正确读写中文字符,而字节流不包含编解码信息,读写中文容易乱码。
(2)字符流中的FileWriter重载的write方法可以直接传入字符串数据,而字节流的FileOutputStream则需要通过.getBytes方法才行。
(3)字符流使用缓冲区,字节流则不使用缓冲区。
(4)字符流中的FileWriter在写完数据后需要调用flush方法或者close方法才能将数据从缓冲区写入到文件中,字节流的FileOutputStream则不需要。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马