当方、C#、VisualStudio2019を用いて、自己学習でWindowsFormsアプリケーションを作成しています。
ファイルを圧縮する機能の作成を考えているのですが、
圧縮時、1024MB以内のサイズで圧縮し、
1024MBを超える場合は複数に分割するような機能を作成することを考えています。
(例えば、7zipであれば、「書庫をサイズで分割」で1024MBを指定したときの動作です。)
上記のような動作を実現するには、
C#アプリから、コマンドプロンプト等を呼び出し、「7z.exe」をパラメータ付けて起動
する方法のみでしょうか?
当方、それが実現できるDLLがありそう、とにらんでいるのですが、
ネットで「zip圧縮、分割」と調べてもあまり有用な情報がありません。
調べ方や、DLLなどがございましたら、ご教示いただけますと幸いです。
多分7-zipの分割は単純にZIPファイルを指定サイズでぶつ切りにしているだけだと思うので、普通にZIPを作成し、その後にBinaryReaderで読み込んで分割処理をすればいいんじゃないでしょうか。
> 当方、それが実現できるDLLがありそう、とにらんでいるのですが、
> ネットで「zip圧縮、分割」と調べてもあまり有用な情報がありません。
DLLが存在するという前提で回答を求めても、存在が確認できなければ回答できない訳ですから、回答の幅を狭めていると思います。
日本語でキーワード検索してもヒットしないときは他言語で探してみるとよいです。
英語ならたとえばテキトーに、"zip divide by size programmatically" などと。
日本語で言えば「zip サイズで分割 プログラムで」なかんじです。
こういうものは根拠なく「存在する前提で」探しまくるのではなく、公式以外で見つからないのであれば、ある程度探して無ければ自分で作った方が良いです。自己学習目的であれば尚更。既存の非公式なDLLなどを見つけても、癖があるかもしれないその使い方を理解するだけに終わってしまいます。
radian様
コメントありがとうございます。
Zip作成し、バイナリで分割する方式でとても理解できました。
それならプログラムが書けそうです。ありがとうございます。
dodox86様
コメントありがとうございます。
根拠なく探すより、自分で作る方が良いというのは、盲点でした。
また、他言語で検索することも盲点であったため、いい勉強になりました。ありがとうございます。
回答2件
あなたの回答
tips
プレビュー