2014/06/02 - SharpCompressライブラリはいい感じ

Analog Book Reader Ver1.2.1でRARファイル対応した。その中で,NuGetからSharpCompressというライブラリを使った。これはC#で作られたオープンソースのアーカイバライブラリ。RAR/7Zip/Zip/Tar/GZip/BZip2に対応しててなかなか素晴らしいライブラリ。標準のPDFライブラリと近い使い方ができるので割とすぐに取り込むことができた。あと1行足すと7zにも対応できるのだが,今の使い方だとページ表示に時間がかかるようだったので入れていない。RARファイルはPDFより少し遅く感じるが,十分実用範囲。

さて,SharpCompressはシーケンシャルアクセスのReader系APIと,ランダムアクセスのArchive系APIを持っている。Analog Book Readerは開いたページを優先的に開くので,ランダムアクセスAPIを使った。しかし,RarArchive.Openはまだパスワードに対応していないようで,RARのパスワード対応はまだ先になるだろう。GitHubの最新のソースでは対応しているっぽいけどwinrt用のブランチはまだっぽかった。

パスワード付きPDFは,次のバージョンでサポート予定。パスワード付きZipはどうしようかな。winrt標準のZipArchiveはパスワード対応していないけど,SharpCompressのZipArchiveはパスワード対応している。でもいろいろ考えるとできるだけ標準クラスを使ってた方がいいだろうな。

コメントする