我有一個jpeg,並在它的最後寫了一個zip文件。閱讀隱藏的zip文件
這裏面的zip文件是一個名爲hidden.txt
一個txt文件。我可以將擴展名更改爲zip並在我的筆記本電腦上讀取文件(debian),但是當我嘗試使用ZipInputStream
或使用ZipFile
來讀取它時,我收到一個錯誤,告訴我它不是zip文件。
我試着先把整個東西讀到一個Bitmap
然後把它寫到byte[]
,然而byte[]
包含的不僅僅是圖像。
我的方法的位圖和zip文件(一byte[]
)
private byte[] combineFiles(Bitmap drawn, byte[] zip) throws
IOException {
InputStream in;
ByteArrayOutputStream out = new ByteArrayOutputStream();
/*write the first file*/
byte[] img;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
drawn.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
img = byteArrayOutputStream.toByteArray();
in = new ByteArrayInputStream(img);
IOUtils.copy(in, out);
in.close();
/*add the second (hidden) file*/
in = new ByteArrayInputStream(zip);
IOUtils.copy(in, out);
out.flush();
in.close();
return out.toByteArray();
}
因此,其實我有兩個問題,結合
- 如何分離文件的JPG和zip部分?
- 我如何解壓縮
hidden.txt
(最好爲byte[]
)- 相當肯定我知道這一個,但我目前在做什麼不起作用,可能是因爲我做的#1錯
也許只是在zip文件上輸入密碼? – satnam 2015-03-25 00:50:01
@satnam不是真的是我想要做的,失敗的目的 – Epicblood 2015-03-25 00:52:59
怎麼找到這裏通過搜索合併文件的byte []數組的「PK」幻數的zip文件的ZIP啓動。然後分開兩個流並使用ZipInputStream作爲字節的zip部分。 – faljbour 2015-03-25 01:19:03