差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| study:java:compress [2008/04/30 06:07] – banana | study:java:compress [2010/04/05 14:44] (現在) – banana | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== Compressing a byte array to a zip file ====== | + | ====== Compressing a byte array in the ZIP format |
| - | **バイトarray**を圧縮したり、zipファイルを圧縮したりするのは、java.util.zipのAPIを用いれば簡単に出来る。\\ | + | **バイトarray**を圧縮したり、zipファイルを出力したりするのは、java.util.zipのAPIを用いれば簡単に出来る。\\ |
| では、バイトarrayを圧縮してzipファイルで出力するのも可能なのか?結論から言えば可能だ。\\ | では、バイトarrayを圧縮してzipファイルで出力するのも可能なのか?結論から言えば可能だ。\\ | ||
| しかし、あえてファイルではなくバイトアレイを圧縮する必要があるのか。もしファイルを作れない環境であれば((たとえば、サーバのファイルシステムが分からない場合や権限の為、ファイルの作成ができない場合だ。))十分考えられる状況である。\\ | しかし、あえてファイルではなくバイトアレイを圧縮する必要があるのか。もしファイルを作れない環境であれば((たとえば、サーバのファイルシステムが分からない場合や権限の為、ファイルの作成ができない場合だ。))十分考えられる状況である。\\ | ||
| + | |||
| + | {{keywords> | ||
| ===== Transfer bytes from a byte array to the ZIP file ===== | ===== Transfer bytes from a byte array to the ZIP file ===== | ||
| 行 77: | 行 79: | ||
| - | ===== Example of compressing a byte array to a zip file ===== | + | |
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Example of compressing a byte array ===== | ||
| ここで、肝心なのは圧縮の対象となるファイルのentry名を指定するところだ。\\ | ここで、肝心なのは圧縮の対象となるファイルのentry名を指定するところだ。\\ | ||
| - | 不思議にファイルを何も作っていないのにまるで作られているように引数で渡している。\\ | + | 不思議にファイルを何も作っていないのに、まるで作られているように引数で渡している。\\ |
| - | 実際、" | + | 実際、" |
| - | なぜかというと、拡張子を含めてentry名を渡さなければ、圧縮対象ファイルの種類が分からないからだ。 | + | なぜかというと、拡張子を含めてentry名を渡さなければ、圧縮対象ファイルの種類が分からない為だ。 |
| <code java> | <code java> | ||
| byte[] buffer = ((ByteArrayOutputStream)out).toByteArray(); | byte[] buffer = ((ByteArrayOutputStream)out).toByteArray(); | ||
| 行 91: | 行 100: | ||
| res.setHeader(" | res.setHeader(" | ||
| res.setHeader(" | res.setHeader(" | ||
| + | // | ||
| </ | </ | ||
| - | .. | + | |
| + | ===== reference ===== | ||
| + | - [[http:// | ||
| + | |||