DOBON.NET DOBON.NETプログラミング掲示板過去ログ

多数のデータが有る場合のメモリ上へのファイルの取得。(ZIP)

環境/言語:[C# 2.0 XP]
分類:[.NET]

こんにちわ。

どうにも詰まってしまったので質問させてください。

C#のZIPファイルの展開と圧縮を参考に、ZIPファイル内の画像ファイルと音楽ファイルをメモリ内に展開しようと思ったのですがどうにもうまくいきません。

普通に展開してしまうとHDDにデータが出力されてしまうのでそれは避けたいのですが、文献等もありません。

よろしければご指導のほどお願いします。
どのような方法で展開されているのか分かりませんが、例えば、私のサイトの

ZIP書庫の作成、閲覧、展開を行う
http://dobon.net/vb/dotnet/links/createzipfile.html

で紹介している#ziplibを使用した方法では、FileStreamの代わりにMemoryStreamを使用すればよいのではないでしょうか。
ありがとうございます。

方法としてはそちらにある#ziplibの方法を使っています。

そこで、メモリストリームを使ったところ、ZIPの解答先をメモリにすることは出来ました……が、そのメモリストリームのデータを参照して配置することが出来ません。

ファイルストリームの場合はHDD上にデータがあるので直接参照することが出来ますが、メモリストリームの場合だとデータをみれないのでどうにも困りました。

メモリ上のファイルというのはどういう風に扱えばいいのでしょうか?
Stream が要求されてるならそのまま渡すだけですし(Position に注意)、バイト配列が要求されてるなら ToArray() で変換できます。
ファイル名が要求されてるなら……バイト配列を渡せるような呼び方を探すとか。

いずれにせよ「参照して配置」とか言われても、データの使われ方次第としか言いようがありません。
2007/07/12(Thu) 10:50:55 編集(投稿者)

Hongliangさん>直接的にファイル名を指定することは出来ないんですね。
(実はここで迷ってました)

バイト型配列で読み込む方法で行けました。

どうもありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板