2016-08-30 3 views
-1

私はストリーミングを使用してZIPファイルからデータを読みたい小さなモジュールに取り組んでいます。 ZIPのサイズが大きいので、私はZipInputStreamの参照をメモリに長時間保存したいと考えています。JAVAのZipInputStreamは圧縮データのデータを参照していますか?

だから私は2つの基本的な質問があります。

  1. ZipInputStreamは、メモリ内の全体のZIPデータを保持していますか?
  2. データは圧縮形式のZipInputStreamで参照されていますか?
+0

私はあなたの2番目の質問を理解していません。 – talex

+0

"reffered by"の意味はどのデータですか?入力データ(圧縮データ)と出力データ(非圧縮データ)の2種類のデータがあります。 –

+0

ポイント2に関して、私が "ZipInputStream"を使ってデータを読み始めたとき、私の理解によれば、データはメモリにストリームされます。このストリーミングされたデータは圧縮された状態または圧縮されていない状態にありますか? – Amit

答えて

0

.zipファイルではZipInputStreamが機能しません。代わりにZipFileを使用してください。

ZipInputStreamは、メモリ内のすべてのコンテンツを保持していません。これは、オンザフライでデータを処理します。

+0

私はストリーミングを使用しています.Zipはサーバー上にあります。そして私はZipInputStreamを使ってZipの内部ファイルを読むことができました。私はZipInpuStreamリファレンスをメモリに保持したい。私の唯一の関心事は、ZipInpuStreamによって参照されるファイルデータが圧縮形式か非圧縮形式かどうかです。 – Amit

+0

ジップストリームにデータがまったく保持されていません。必要なときに解凍します。基本的なストリームについて心配する必要があります。 – talex

1

ZipInputStreamは、「接続されている」ソースデータを解凍するストリームです。圧縮されたファイルがある場合は、FileInputStreamで読み込み、圧縮されたバイトを取得できます。 ZipInputStreamFileInputStreamに添付すると、圧縮されていないバイトを読み取ることができます。

すべてのストリーミングと同じように、すべてのデータが同時にメモリに保持されるわけではなく、読み続けるとバイトがフェッチされ、解凍されます。

+0

実際には、ジップコピーをローカルハードディスクに保存したくありません。だから私は "FileInputStream"を使用することはできません。だからZipInputStreamを使ってZIPファイル全体を読むと、私はすべてのデータをメモリにロードされた非圧縮形式で持っていることを意味しますか? – Amit

+0

私は例として 'FileInputStream'を使用していました。 'SocketInputStream'、' ByteArrayInputStream'やその他の 'InputStream'でもかまいません。 – Kayaman

関連する問題