黑马程序员技术交流社区
标题:
内存输出流之黑马面试题
[打印本页]
作者:
yw540
时间:
2016-8-21 12:53
标题:
内存输出流之黑马面试题
定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)
分析:
1,read(byte[ ] b)是字节输入流的方法,创建FileInputStream,关联a.text
2,创建内存输出流,将读到的数据写到内存输出流中。
3,创建字节数组,长度为5
4,将内存输出流的数据全部转换为字符串打印
5,关闭输入流。
FileInputStream fis = new FileInputStream("a.txt"); //创建字节输入流,关联a.txt
ByteArrayOutputStream baos = new ByteArrayOutputStream(); //创建内存输出流
byte[] arr = new byte[5]; //创建字节数组,大小为5
int len;
while((len = fis.read(arr)) != -1) { //将文件上的数据读到字节数组中
baos.write(arr, 0, len); //将字节数组的数据写到内存缓冲区中
}
System.out.println(baos); //将内存缓冲区的内容转换为字符串打印
fis.close();
作者:
yw540
时间:
2016-8-21 12:56
。。。。。。。。。。。。。。
作者:
zztierlie
时间:
2016-8-21 16:18
赞一个,赞一个,么么哒
作者:
阿卜
时间:
2016-8-21 17:17
baos应该要flush()一次再打印吧?
作者:
Fightingdd
时间:
2016-8-21 17:56
太棒了!
作者:
袁志娜
时间:
2016-8-22 22:15
感觉即使不是内存输出直接用InputStream和OutputStream 也可以
作者:
itcoder
时间:
2016-8-22 22:36
顶顶顶顶顶顶顶顶顶顶顶
作者:
劉芒
时间:
2016-8-22 23:10
不错不错,谢谢楼主分享
作者:
wq1194165366
时间:
2016-8-23 00:16
效率不是很低吗, 五个字节,可以试试带缓冲的 最起码 有8k字节输入 8k 输出
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2