こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ZIPを操作したい(VB.NET、dll)

現在VB6で、UNLHA32.dllを使用して
・LZHの圧縮
・LZHの解凍
・LZH内のテキストファイルの読み込み

の操作をしています。
今回、VB6からVB.NETへ言語を変換することになりました。
そのタイミングで、LZHではなくZIPを使うことにもなりました。
(LZHはセキュリティ的に使うべきでないからという理由だと思います。)

そこでLZHで行っていた操作を、ZIPに置き換えて実現するにはどうすればよいでしょうか?

VB.NETの機能でZIP操作できるようなのですが、FrameWork4.5以上からのようなので、バージョンで操作できる・できないが出てしまうならdllを使うべきなのかなと思っています。

dllで調べていくと、UNZIP32.dllやzip32.dll、zip32j.dllなどがあることを知りました。
UNLHA32.dllではそれ1つで解凍や圧縮ができたのですが、
UNZIP32.dllでは解凍のみ、zip32.dllやzip32j.dllは圧縮のみのようです。

ただ、本文の最初に挙げていた、
圧縮状態のまま、その中にあるテキストファイルの読み込み がどうすれば実現できるのかが調べていても分かりませんでした。

また、先ほど挙げたZIP操作のdllをVB.NETで使用していくにあたっての
コーディングなどについてもなかなか検索しても見つからず、
どうすればいいのか見えてこない状態です。
(私の検索方法が良くないのかもしれませんが・・・)

それ以外にもzip32.dllとzip32j.dllの両方を組み合わせて使うようなのですが、
その理由も分からないです。

助言をいただけないでしょうか。

p.s.
入社したてのスキル不足なSEです。
初歩的な質問だったらすみません。

投稿日時 - 2018-07-29 08:43:46

QNo.9522931

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

>圧縮状態のまま、その中にあるテキストファイルの読み込み がどうすれば実現できるのかが調べていても分かりませんでした。

解凍先をメモリなどにして解凍します。

>それ以外にもzip32.dllとzip32j.dllの両方を組み合わせて使うようなのですが、
>その理由も分からないです。

zip32j.dllは、zip32.dllを統合アーカイバプロジェクトAPI風に使えるようにするためのラップライブラリですので必ずしも使用する必要はありません。

投稿日時 - 2018-07-29 13:04:17

あなたにオススメの質問