[英]How to build FileInputStream object with byte array as a parameter
我有一個zip文件,解碼后我得到一個字節數組現在我想用byte []對象創建一個FileInputStream對象。 我不想創建文件而是傳遞數據內容做FileInputStream。 有什么辦法嗎?
以下是代碼:
byte[] decodedHeaderFileZip = decodeHeaderZipFile(headerExportFile);
FileInputStream fileInputStream = new FileInputStream(decodedHeaderZipFileString);
編輯:我想用FileInputStream構建一個ZipInputStream對象。
我有一個zip文件,解碼后我得到一個字節數組現在我想用byte []對象創建一個FileInputStream對象。
但是你沒有文件。 你的內存中有一些數據。 所以FileInputStream
是不合適的 - 沒有文件供它讀取。
如果可能,請使用ByteArrayInputStream
:
InputStream input = new ByteArrayInputStream(decodedHeaderFileZip);
在可能的情況下,使用InputStream
, Reader
等表達您的API而不是任何特定的實現 - 這使您可以靈活地使用您的實現。 (我的意思是,盡可能使用方法參數和返回類型InputStream
而不是FileInputStream
- 這樣調用者就不需要提供特定的類型。)
如果您必須創建FileInputStream
,則需要先將數據寫入文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.