ByteArrayInputStream和ByteArrayOutputStream 避免創建臨時文件

由於文件存在hadoop的服務器上,必須從hadoop上下載,但是不想後臺創建一個臨時文件存儲一份,再返回給前端,而是直接從hadoop文件系統上取得的文件流,直接返回給前端。網上查了一些資料,InputStream,OutputStream都是要有File才能創建,經過一番的查找,有一個叫ByteArrayInputStream和ByteArrayOutputStream,這兩個是開闢內存區域進行緩存的,這就解決了在磁盤中創建臨時文件的問題。ByteArrayOutputStream有一個toByteArray的方法返回字節數組,從而把ByteArrayOutputStream中的東西拿出來,原本以爲輸出流只能寫進去,拿不出來咋辦,然而一些都是設計好的,通過toByteArray這個方法,就能夠把寫入的東西又拿出來了。InputStream可以通過byte[]構造,自然就打通了任督二脈,不用創建臨時文件來獲得輸入輸出流了,通過內存就可以實現數據的緩存。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章