これはzip4jソースからのものです
public ZipInputStream getInputStream() throws ZipException {
if (fileHeader == null) {
throw new ZipException("file header is null, cannot get inputstream");
}
RandomAccessFile raf = null;
try {
raf = createFileHandler(InternalZipConstants.READ_MODE);
String errMsg = "local header and file header do not match";
//checkSplitFile();
if (!checkLocalHeader())
throw new ZipException(errMsg);
init(raf);
...
}
private RandomAccessFile createFileHandler(String mode) throws ZipException {
if (this.zipModel == null || !Zip4jUtil.isStringNotNullAndNotEmpty(this.zipModel.getZipFile())) {
throw new ZipException("input parameter is null in getFilePointer");
}
try {
RandomAccessFile raf = null;
if (zipModel.isSplitArchive()) {
raf = checkSplitFile();
} else {
raf = new RandomAccessFile(new File(this.zipModel.getZipFile()), mode);
}
return raf;
} catch (FileNotFoundException e) {
throw new ZipException(e);
} catch (Exception e) {
throw new ZipException(e);
}
}
このraf = new RandomAccessFile(new File(this.zipModel.getZipFile()), mode);
行は、暗号化されたzipファイルのパスのサブディレクトリの下で、実際に復号化ファイルを作成していることを意味していると思います。
その場で解凍できるかどうかはわかりません(おそらくできません)。復号化されたファイルを他人に見られたくない場合は、sd カードではなく、アプリの保護された内部ストレージ スペースに zip ファイルを保存することを検討してください。