VB2008からICSharpCode.SharpZipLib.Zipを利用する際に関する質問です。

zip内のファイルが一部壊れていても、壊れていないファイルに関してはなんとか解凍出来るようにしたいのです。
どの様なコードを書けばいいのでしょうか?ご存じの方お願いします。

現在作成中のzip作成ソフトは、どうしても場合によっては壊れた状態で作成してしまうので、解凍側でフォローできるようにしたいと考えています。
しかし、現在は一部壊れたzipファイルを解凍しようとすると「Cannot find central directory」という例外が発生してうまくいきません。よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/04/13 21:16:33
  • 終了:2010/04/20 21:20:02

回答(0件)

回答はまだありません

  • id:halohalolin
    なお、現在作成中(途中が壊れているzipファイルが解凍できない)の解凍アルゴリズムは以下のとおりです。

    Try
    ' FastZipオブジェクトの作成
    Dim iszFastZip As ICSharpCode.SharpZipLib.Zip.FastZip = New ICSharpCode.SharpZipLib.Zip.FastZip()

    ' 属性は復元しない
    iszFastZip.RestoreAttributesOnExtract = False
    ' ファイルの日時を復元する
    iszFastZip.RestoreDateTimeOnExtract = True
    ' 空のフォルダを作成する
    iszFastZip.CreateEmptyDirectories = True

    ' ZIP書庫を展開する
    iszFastZip.ExtractZip(strZipFn, strFolder, strFileFilter)

    Catch ex As Exception
    Return False
    End Try

    Return True

    参考にしたのは下記のサイトです。
    http://dobon.net/vb/dotnet/links/sharpziplib.html
    #ziplib(SharpZipLib)を使ってZIP圧縮、展開(解凍)、リスト表示などを行う: .NET Tips: C#, VB.NET, Visual Studio

    よろしくお願いいたします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません