簡體   English   中英

如何使用字節數組作為參數構建FileInputStream對象

[英]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);

在可能的情況下,使用InputStreamReader等表達您的API而不是任何特定的實現 - 這使您可以靈活地使用您的實現。 (我的意思是,盡可能使用方法參數和返回類型InputStream而不是FileInputStream - 這樣調用者就不需要提供特定的類型。)

如果您必須創建FileInputStream ,則需要先將數據寫入文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM