これまでの端末は、SDカードを抜き差しして、データをやりとりしていたが、
新しい(中古)の端末 Casio DT-5200は、
Windows Mobile デバイス センター経由でしか、ファイル更新出来ない仕様になる。
Wifiでも積んでいれば、FTPという手があったが、今回のは未対応の端末。

今回は、グレードルに差すと、My Documentのファイル同期が行われるので、
この機能を利用することにした。

まず、設計の問題なのだが、
1つのファイルにすると非力な端末故、動作が極端に遅くなったため、
苦肉の策として、ファイルを処理単位に分割した。
端末側の問題は、軽減できたが、
今度はSDにコピーするのに時間がかかるが、仕方なし。

しかし、今回の端末では、
このグレードルに差したときも、コピーに2分近く要す。
30台のコピーに1時間。

SDへのコピーは同時に何枚も出来たのに、
グレードルは1台ずつ。
これじゃ使えない・・・

ってことで、ZIP圧縮するしかなく、
今回は、表題の通り、「DotNetZip」を使う。
※Compact Frameworkに対応していることが、重要。

使い方は、おおよそこのサイトで理解できるので、

 DotNetZip(Ionic Zip Library)を使ってZIP書庫のリスト表示などを行う – DoboWiki

今回は、指定エンコードでの読み込みについて。

Read Method (fileName, options)

のサンプルにもあるように、
指定コードは、optionsで指定するんだが、

.net 2.0では、エラーになる。

3.5にしたら良いわけだが、

こう書けば通った。

3時間ほどかけてわかったことなので、後輩のためにココに残す。

dotnetzip @.net2 CF C#