本文共 433 字,大约阅读时间需要 1 分钟。
由于文件存在hadoop的服务器上,必须从hadoop上下载,但是不想后台创建一个临时文件存储一份,再返回给前端,而是直接从hadoop文件系统上取得的文件流,直接返回给前端。网上查了一些资料,InputStream,OutputStream都是要有File才能创建,经过一番的查找,有一个叫ByteArrayInputStream和ByteArrayOutputStream,这两个是开辟内存区域进行缓存的,这就解决了在磁盘中创建临时文件的问题。ByteArrayOutputStream有一个toByteArray的方法返回字节数组,从而把ByteArrayOutputStream中的东西拿出来,原本以为输出流只能写进去,拿不出来咋办,然而一些都是设计好的,通过toByteArray这个方法,就能够把写入的东西又拿出来了。InputStream可以通过byte[]构造,自然就打通了任督二脉,不用创建临时文件来获得输入输出流了,通过内存就可以实现数据的缓存。
转载地址:http://wczvi.baihongyu.com/