I have the following code to read an encrypted zip file using zip4j on Android. I do not supply a temporary file. Does zip4j creates a temporary file for decryption ? Or does the zip standard allow for decryption on-the-fly so no encrypted data is temporarily written to storage ?
ZipFile table = null;
try {
table = new ZipFile("/sdcard/file.zip");
if( table.isEncrypted() ){
table.setPassword("password");
}
} catch (Exception e) {
// if can't be opened then return null
e.printStackTrace();
return;
}
InputStream in = null;
try {
FileHeader entry = table.getFileHeader("file.txt");
in = table.getInputStream(entry);
...