DOBON.NETプログラミング掲示板過去ログ
ZIP書庫の圧縮・解凍に関する質問
題名: ZIP書庫の圧縮・解凍に関する質問
著者: どつる
URL:
http://dobon.net/vb/dotnet/links/createzipfile.html
日時: 2009/09/04 20:26:51
ID: 25355
この記事の返信元:
(なし)
この記事への返信:
[25361]
Re[1]: ZIP書庫の圧縮・解凍に関する質問
Azulean
2009/09/05 9:02:37
ツリーを表示
環境/言語:[VB.NET]
分類:[.NET]
はじめまして。
http://dobon.net/vb/dotnet/links/createzipfile.html
を拝見させて頂いたものです。
上記で公開されているソースをテストしていて、問題にぶつかってしまったので書き込みさせていただきました。
上記の、#ziplibを使用する方法を試してみたところ、
「書庫内のファイルを展開する」でエラーが発生してしまいました。
ちなみに、#ziplibのバージョンは、0.85.5 です。
いろいろ試した見たところ、lhaplusなどのFreewareを使って圧縮したZIPファイルは問題なく解凍できるのに、上記で公開されている「書庫を作成(圧縮)する」のソース、つまり#ziplibを使って圧縮したZIPファイルは回答できないことがわかりました。
ちなみにエラーする場場所は、
len = zis.Read(buffer, 0, buffer.Lengh) で、
エラーメッセージは"Size mismatch : **** <-> ****" です。
おそらく、#ziplibのバグではないかと思うのですが、その確証が得られなくて困っています。
おそらく、上記記事を書いたときのバージョン0.81では動いていたソースだと思うのですが、どなたでも結構ですから、現在公開されているバージョン0.85.5を使ってエラーするかどうかを確認していただけないでしょうか?
「エラーしなかった」という情報が得られれば、問題は私のPC側だということになるので、それはそれで助かります。
もし、公開されているソースをこのように修正すればエラーが出なくなるというような情報をいただけるならば、この上ない幸せです。
誠に勝手なお願いで申し訳ないのですが、どうかよろしくお願いいたします。
題名: Re[1]: ZIP書庫の圧縮・解凍に関する質問
著者: Azulean
日時: 2009/09/05 9:02:37
ID: 25361
この記事の返信元:
[25355]
ZIP書庫の圧縮・解凍に関する質問
どつる
2009/09/04 20:26:51
この記事への返信:
[25362]
Re[2]: ZIP書庫の圧縮・解凍に関する質問
Azulean
2009/09/05 9:08:29
ツリーを表示
ここにいくつかコメントが寄せられていますね。
http://dobon.net/cgi-bin/pc/pc.php?mode=v&id=links%2Fcreatezipfile.html
CompressedSize を指定しないといけないというコメントがありますが、試していません。
題名: Re[2]: ZIP書庫の圧縮・解凍に関する質問
著者: Azulean
日時: 2009/09/05 9:08:29
ID: 25362
この記事の返信元:
[25361]
Re[1]: ZIP書庫の圧縮・解凍に関する質問
Azulean
2009/09/05 9:02:37
この記事への返信:
[25365]
Re[3]: ZIP書庫の圧縮・解凍に関する質問
どつる
2009/09/07 14:00:36
[解決]
ツリーを表示
2009/09/05(Sat) 09:10:44 編集(投稿者)
#ziplib のサイトにある "Source code and samples" のファイルをダウンロードしてきて、サンプルと何が違うかを比べる路線で、少し試しました。
該当のページのサンプルでは ZipEntry クラスのインスタンスの ze に対して Crc, Size のプロパティを設定していますが、これをコメントアウトしました。(DateTime だけ設定するようにした)
これにより、圧縮・解凍がうまく動いているように見受けられます。
題名: Re[3]: ZIP書庫の圧縮・解凍に関する質問
著者: どつる
URL:
http://dobon.net/vb/dotnet/links/createzipfile.html
日時: 2009/09/07 14:00:36
ID: 25365
この記事の返信元:
[25362]
Re[2]: ZIP書庫の圧縮・解凍に関する質問
Azulean
2009/09/05 9:08:29
この記事への返信:
(なし)
ツリーを表示
2009/09/07(Mon) 18:25:49 編集(投稿者)
2009/09/07(Mon) 18:25:42 編集(投稿者)
> 該当のページのサンプルでは ZipEntry クラスのインスタンスの ze に対して Crc, Size のプロパティを設定していますが、これをコメントアウトしました。(DateTime だけ設定するようにした)
回答ありがとうございます。
DateTimeだけ設定するようにしたら、問題なく解凍できるようになりました。
パスワードなしの場合もパスワード付きの場合も、正常に圧縮解凍できます。
Crd,Sizeをコメントアウトすると、生成されたZIPファイルが、他のFreewareなどで圧縮したものより、多少サイズが大きくなるのがちょっと気になりますが、問題なく圧縮/解凍しているようにみえます。
このたびは誠にありがとうございました。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
はじめまして。
http://dobon.net/vb/dotnet/links/createzipfile.html
を拝見させて頂いたものです。
上記で公開されているソースをテストしていて、問題にぶつかってしまったので書き込みさせていただきました。
上記の、#ziplibを使用する方法を試してみたところ、
「書庫内のファイルを展開する」でエラーが発生してしまいました。
ちなみに、#ziplibのバージョンは、0.85.5 です。
いろいろ試した見たところ、lhaplusなどのFreewareを使って圧縮したZIPファイルは問題なく解凍できるのに、上記で公開されている「書庫を作成(圧縮)する」のソース、つまり#ziplibを使って圧縮したZIPファイルは回答できないことがわかりました。
ちなみにエラーする場場所は、
len = zis.Read(buffer, 0, buffer.Lengh) で、
エラーメッセージは"Size mismatch : **** <-> ****" です。
おそらく、#ziplibのバグではないかと思うのですが、その確証が得られなくて困っています。
おそらく、上記記事を書いたときのバージョン0.81では動いていたソースだと思うのですが、どなたでも結構ですから、現在公開されているバージョン0.85.5を使ってエラーするかどうかを確認していただけないでしょうか?
「エラーしなかった」という情報が得られれば、問題は私のPC側だということになるので、それはそれで助かります。
もし、公開されているソースをこのように修正すればエラーが出なくなるというような情報をいただけるならば、この上ない幸せです。
誠に勝手なお願いで申し訳ないのですが、どうかよろしくお願いいたします。