由於文件存在hadoop的服務器上,必須從hadoop上下載,但是不想後臺創建一個臨時文件存儲一份,再返回給前端,而是直接從hadoop文件系統上取得的文件流,直接返回給前端。網上查了一些資料,InputStream,OutputStream都是要有File才能創建,經過一番的查找,有一個叫ByteArrayInputStream和ByteArrayOutputStream,這兩個是開闢內存區域進行緩存的,這就解決了在磁盤中創建臨時文件的問題。ByteArrayOutputStream有一個toByteArray的方法返回字節數組,從而把ByteArrayOutputStream中的東西拿出來,原本以爲輸出流只能寫進去,拿不出來咋辦,然而一些都是設計好的,通過toByteArray這個方法,就能夠把寫入的東西又拿出來了。InputStream可以通過byte[]構造,自然就打通了任督二脈,不用創建臨時文件來獲得輸入輸出流了,通過內存就可以實現數據的緩存。
ByteArrayInputStream和ByteArrayOutputStream 避免創建臨時文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java集合泛型--無泛型、Object泛型、?泛型之間的區別
hongmin.shm
2020-07-07 21:06:38
JavaWEB項目配置動態數據源
hongmin.shm
2020-07-07 21:06:38
windows下jdk手動安裝jre教程(親測也適用於jdk14)
龙腾万里sky
2020-07-07 20:46:29
配置JDK環境變量(工欲善其事,必先利其器篇)
龙腾万里sky
2020-07-07 20:46:29
JavaEE:MongoDB安裝與使用
意华
2020-07-07 17:39:58
Flex連接javaEE後臺的可用技術
iteye_6836
2020-07-07 16:54:46
Spring事務管理,帶你回顧數據庫事務!
CodeWhite7
2020-07-07 14:08:28
RESTful API更規範的編程接口風格
CodeWhite7
2020-07-07 14:08:27
springmvc靜態資源攔截問題
解決方法1:在web.xml中配置: <servlet-mapping> <!--配置不過濾的靜態資源,以下結尾--> <servlet-name>default</servlet-name
CodeWhite7
2020-07-07 14:08:23
這裏教你怎麼使用SpringIOC,你還是不懂SpringIOC?什麼是控制反轉?
CodeWhite7
2020-07-07 14:08:23
Spring框架之SpringAOP以及Spring註解開發
CodeWhite7
2020-07-07 14:08:23
註解開發一直用一直爽,SpringMVC註解
CodeWhite7
2020-07-07 14:08:23
SpringMVC框架攔截器,異常處理與響應,並且實現文件上傳與下載。
CodeWhite7
2020-07-07 14:08:22
Mybatis輕量化框架學習
CodeWhite7
2020-07-07 14:08:22
24小時熱門文章
-
再談23種設計模式(3):行爲型模式(學習筆記)
-
Power Automate Desktop 安裝完,登錄後老是提示one driver 錯誤
-
微前端學習筆記(4):從微前端到微模塊之EMP與hel-micro方案探索
-
微前端學習筆記(1):微前端總體架構概述,從微服務發微
-
985 碩士程序員,空窗 4 個月沒有 Offer!
-
一文搞懂 Spring 循環依賴
-
賽博鬥地主——使用大語言模型扮演Agent智能體玩牌類遊戲。
-
VScode右鍵打開(添加到右鍵)
-
記一次 .NET某工控視覺自動化系統 卡死分析
-
WindowsServer--SQL Server搭建主從同步實現讀寫分離 - 事務性分發