サーブレットにアップロードされたファイルを解凍し、解凍されたすべてのファイルを DataStore に byte[] として格納したいと考えています。GAE にはファイル システムがないため、すべてをメモリに配置する必要があります。元の zip ファイル データを格納する byte[] allzipdata があるとします。ファイルを解凍するにはどうすればよいですか? 特にメモリ内にある各 zipentry から入力ストリームを取得する方法は?
ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(allzipdata));
ZipEntry ze = zis.getNextEntry();
while(ze!=null){
}
では、while ループには何が含まれているのでしょうか。
また、ファイルをアップロードする場合、item.getContentType(); を使用して contentType を認識します。項目は FileItemStream です。zipentry の場合、contentType を知る方法はありますか?