Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-14.log failed

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
study:java:compress [2008/04/30 05:49] bananastudy: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>ByteArray create zip ZipEntry }}
  
 ===== Transfer bytes from a byte array to the ZIP file ===== ===== Transfer bytes from a byte array to the ZIP file =====
行 73: 行 75:
 } }
 </code> </code>
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Example of compressing a byte array =====
 +ここで、肝心なのは圧縮の対象となるファイルのentry名を指定するところだ。\\
 +不思議にファイルを何も作っていないのに、まるで作られているように引数で渡している。\\
 +実際、"aaa.txt"というentry名が**%%ZipEntry%%**のconstructorに引数として渡されている。\\
 +なぜかというと、拡張子を含めてentry名を渡さなければ、圧縮対象ファイルの種類が分からない為だ。
 +
 +<code java>
 +byte[] buffer = ((ByteArrayOutputStream)out).toByteArray();
 +
 +response.setContentType("Content-type: application/zip;");
 +response.addHeader("Content-Disposition", "attachment; filename=xxx.zip");
 +
 +long contentLength = compressor.writeZipStream(buffer, out, "aaa.txt");
 +res.setHeader("Cache-Control","must-revalidate");
 +res.setHeader("Content-Length", String.valueOf(contentLength));
 +//
 +</code>
 +
 +===== reference =====
 +  - [[http://www.exampledepot.com/egs/java.util.zip/CompArray.html|Compressing a Byte Array]]
  
  

QR Code
QR Code study:java:compress (generated for current page)