2011-10-08 76 views
2

我想將java中的整數數組轉換爲InputStream,之後我想使用LZMA庫解壓縮字節流。如何將整數數組轉換爲InputStream?

int [] header = new int[copy.length]; 

edu.coeia.Compression.LZMA.Decoder decoder = new edu.coeia.Compression.LZMA.Decoder(); 
ByteArrayInputStream bStream = new ByteArrayInputStream(bheader); 

bStream.coder(// InputSream of bytes); 
+0

'header'數組中值的範圍是多少?每個條目是否包含一個字節的數據或四個字節的數據? –

+0

爲什麼數據是作爲一個整數數組提供的,而不是字節? – EJP

+0

@ A.H。標題中的值範圍爲0到247字節。是的每個條目都有一個字節的數據。 –

回答

2

你需要做的是整數數組轉換成字節的等效陣列,然後使用ByteArrayInputStream(byte[])構造函數來創建輸入流。最後,使用您已有的代碼解碼流。

第一步(轉換)可能是您遇到困難的一步,但代碼取決於字節在整數數組中的表示方式。

+0

問題是我從一個用C#編寫的軟件接收這些整數數組,因此在字節順序和值上有很大差異,所以無論我做什麼,我仍然需要提供函數.Coder是一個字節數組,應該匹配C#軟件的值 –