zipとかunzipについて – プログラミング – Home

通知
すべてクリア

[解決済] zipとかunzipについて


hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
Topic starter  

いままで、何にも考えずにzip/unzipは J# を利用してたんですけど、
これって、もう無いっぽいじゃないですか
できれば、オープンソース等は利用したくないんですけど、何かいい方法ないですか?
もう標準じゃないVisualJ#2.0のインストールとかめんどくさいですね


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

どうしてオープンソースが NG なのでしょうか。
ということはクローズドソースなら OK なのかと思いますが、おそらくそういうことで
はないのでしょうね。

少なくとも .NET Framework 4 に標準機能として ZIP 圧縮はありません(ZipPackage
は目的が異なるので使えません)。
Microsoft も要望が非常に多いことは認識しているので、.NET 5 には入るかもしれませ
んが、あと 2 ~ 3 年は先になるでしょうね。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

あ、肝心なこと言い忘れた。

というわけで、どういうモノなら OK なのかをもうちょっと具体的に書いて頂ければ、
代替になるライブラリを提案できると思います。
標準機能としてはありません。

サードパーティライブラリはたくさんあります。
オープンソースのものもそうでないものも、有償のものも無償のものも。

http://xceed.com/Zip_Net_Intro.html
http://sharpziplib.com/
http://dotnetzip.codeplex.com/

また、Microsoft 製のライブラリも CodePlex でリリースが予告されています
(CodePlex ですからオープンソースです)。

アンマネージ DLL を使うという手もあります。

http://www.info-zip.org/

また、根性があれば、もちろん自作も可能です。
アルゴリズムのコア部分は GZipStream という形で標準搭載されていますので、あとは
それを使って Zip ファイルを組み立ててやるだけです。


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
Topic starter  

基本的にMFC、Visual9にて商用のソフトを作っていまして
できれば、トラブル発生時にフォルダごと客先から移動で検証作業ができるのが望まし
いです

オープンソースといってもライセンスとかも色々あったり何でもしていい訳ではないと
思いますし、
客先には再配布パッケージのみのインストールで環境は構成して、
トラブった時、できるだけ手のひらに置いておきたいですね(ブラックボックス的なのは
ちょっと・・・)

というニュアンスでできればという、あくまで希望です

ただ、3rdパーティー製も便利なら、まぁ視野には置いてもいいかなとは思いますけ
ど、ActiveXとかライセンスの手続きとか考えるとかなり唸るほど便利でないとなかなか
手は出さないですね

知らないだけで、こんなのあったんだ的なzip/unzipの方法があったらいいなぁと思いま
した
というのも、最近の流れとして ePub が来るような気がしまして

まぁ、無ければ J# を gcroot で利用するだけなんですけどね

aetosさん、相談に乗ってくれてありがとうございます


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

しまった。
J# って書いてあったから、つい C# のつもりでレスしてしまった。
C++ フォーラムでしたねここは。

まぁ、どれがいいかはいろいろ評価してみてください。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

WIN-XPからZIPの圧縮/解凍が出来るので、WIN7から標準のWINAPI関数としてほしいです
ね。


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
Topic starter  

ITOさん、そうなんですよ、まったくその通りですね
っていうか、知らないだけで既にあったりして…
なんて、淡い期待をいだいてました


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

ん?
フレームワーク2.0?
  http://msdn.microsoft.com/ja-
jp/library/system.net.mime.mediatypenames.application.zip(VS.85).aspx

フレームワーク4.0?
http://msdn.microsoft.com/ja-jp/library/system.io.packaging.zippackage.aspx

フレームワーク3.0?
http://msdn.microsoft.com/ja-jp/library/system.io.packaging.package(VS.80).aspx

WINAPIは、今のところ見当たらない(T.T)


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
Topic starter  

せめて、system.io.packaging.zippackageが、次とか普通のzipとか無圧縮zipにも対応
してくれるといいですよねぇ

っていうか、実は既に対応してて使い方間違ってるだけだったりして…


返信引用
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
 

私もこれからZIP書庫の扱いをしようと思っていますが、
解凍:UNZIP32.DLL
圧縮:7-zip32.dll
の予定です。

双方とも日本語マニュアルがしっかりしていてお勧めです。

特に、7-zip32.dllの方は、作者の話によると、
「7z形式の圧縮解凍および通常よりも圧縮率の高いZIP書庫を作成します。」
だそうです。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
Topic starter  

私の考えている使い方としては、複数のフォルダ、複数のファイルからなるプロジェク
トを見た目上1つのファイルとして扱う予定です
そして、拡張子を.zipではないものにして利用する予定です
新しいエクセルの.xlsxと同じ考え方ですね
まったくOfficeと同じでいくならば、system.io.packaging.zippackageでもよかったん
ですけどねぇ
ユーザが解凍して中の、たとえばCSVファイル等に手を加えて、再zipしたりとかも有効
にしたいので、できれば普通のzipが扱いたかったですね
アプリケーション上では直接解凍なしで直接いじるのを視野に入れると無圧縮とかもあ
りかなと…
で、フォーマットとチェックサムの問題だけみたいなので、作っちゃうかなぁなんて考
えてました
www


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> 私の考えている使い方としては…

であれば、いっそのこと OPC に乗っかってしまうのも手だと思います。
その場合なら ZipPackage が使えます。
OPC 自体は Office 専用ではなく、汎用のコンテナ規格ですから(XPS とかでも使って
る)。


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
Topic starter  

aetosさんありがとうございます
ZipPackageの読み込みって、汎用的で素敵な圧縮/解凍のフリーソフトで再圧縮したもの
でも読み込めるんですか?
だとしたら、追加されたXMLを無視しちゃうだけでいいってことですね?
できないと決め打ちでノーチェックでした
マニュアルヨメって怒られそうですね www


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> 汎用的で素敵な圧縮/解凍のフリーソフトで再圧縮したものでも読み込めるんですか?

中身が OPC 規格であれば、多分できると思います。試してはいませんが。
Excel 2010 で試したら(.xlsx ファイルは OPC 規格ですが、Excel 2010 の実装に
ZipPackage が使われているかどうかは知りません)、7-Zip で超圧縮したファイルも開
けました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました