由于文件存在hadoop的服务器上,必须从hadoop上下载,但是不想后台创建一个临时文件存储一份,再返回给前端,而是直接从hadoop文件系统上取得的文件流,直接返回给前端。网上查了一些资料,InputStream,OutputStream都是要有File才能创建,经过一番的查找,有一个叫ByteArrayInputStream和ByteArrayOutputStream,这两个是开辟内存区域进行缓存的,这就解决了在磁盘中创建临时文件的问题。ByteArrayOutputStream有一个toByteArray的方法返回字节数组,从而把ByteArrayOutputStream中的东西拿出来,原本以为输出流只能写进去,拿不出来咋办,然而一些都是设计好的,通过toByteArray这个方法,就能够把写入的东西又拿出来了。InputStream可以通过byte[]构造,自然就打通了任督二脉,不用创建临时文件来获得输入输出流了,通过内存就可以实现数据的缓存。
ByteArrayInputStream和ByteArrayOutputStream 避免创建临时文件
最新推荐文章于 2024-08-22 11:04:54 发布