文書の過去の版を表示しています。
Visual J# ライブラリによるZIP圧縮
using System.IO; using java.io; using java.util; using java.util.zip; public class ZipUtility { public static bool Compress(string[] sourceFileNames, string zipFileName) { // ZipOutputStreamを開く FileOutputStream zipFileStream = new FileOutputStream(zipFileName); ZipOutputStream zipOutputStream = new ZipOutputStream(zipFileStream); try { for (int fileIdx = 0; fileIdx < sourceFileNames.Length; fileIdx++) { // ZIP書庫に追加するファイル名を取得 string fileName = Path.GetFileName(sourceFileNames[fileIdx]); // ZIPエントリを作成 ZipEntry zipEntry = new ZipEntry(fileName); // ***** ZIPエントリのファイル更新時刻を設定 ***** // ファイルのタイムスタンプを世界協定時刻(UTC)にて取得 DateTime lastWriteTimeUtc = System.IO.File.GetLastWriteTimeUtc(sourceFileNames[fileIdx]); // UTCをグリニッジ標準時(GMT)形式の文字列に変換 string lastWriteTimeGMT = lastWriteTimeUtc.ToString("R"); // java.util.Date(String s)のコンストラクタにてDateインスタンスを生成 Date lastWriteTime = new Date(lastWriteTimeGMT); // Date.getTime()にてエポックタイム(1970/01/01 00:00:00からのミリ秒)を取得 long lastWriteEpochTime = lastWriteTime.getTime(); // ZIPエントリのファイル更新時刻として設定 zipEntry.setTime(lastWriteEpochTime); // ZIPエントリの圧縮メソッド(DEFLATED)を設定 zipEntry.setMethod(ZipEntry.DEFLATED); // ZipOutputStreamにZIPエントリを追加 zipOutputStream.putNextEntry(zipEntry); } } finally { } } }