2012-03-05 5 views
1

可能性の重複:
In Java: How to zip file from byte[] array?メモリに生成されたファイルからJavaでzipアーカイブを作成するにはどうすればよいですか?

は、ここで私は大学のウェブオフィスで仕事と私たちは大学の学科やクラブのためのいくつかのウェブサイトのテンプレートを提供し、契約です。私は彼らが望むテンプレートを選択し、ダウンロードする前に選択したテンプレートにプログラムで挿入されるタイトルを提供するWebフォームを構築することが任されています。

私の質問は、テンプレートをメモリに取り込み、タイトルを挿入して、に一時ファイルを書き込まずにに出力できますか?

JavaのZipEntryはファイル名を必要とし、メモリ内のデータを単純に使用できないようです。

答えて

4

いいえ、「ファイル名」という名前はおそらくちょっと混乱しますが、作成するZIPアーカイブのエントリのファイル名を意味します。 ZipOutputStreamを見てください。それはFileOutputStreamまたはByteArrayOutputStreamのいずれかの出力ストリームごとにラッパーとして作成されます。 ByteArrayOutputStreamを使用すると、メモリ内にzipアーカイブを完全に作成できます。

+0

「ファイル名」は、誰かがアーカイブを解凍したときのようにファイル名が表示されるように指定するだけですか? – jcksncllwy

1

GZIPとは異なり、ZIPは複数のファイルを圧縮できるためです。

ファイル名(zipファイルに記録されます)を指定する必要がありますが、ファイルシステムにファイルが物理的に存在している必要はありません。これは、アーカイブ内のファイルに与えられる名前です。

関連する問題