ストリーム(バイト配列)を直接開くには

解決


牙竜  2005-08-09 00:55:50  No: 124008

OS:windows2000
言語:vb .net

現在、圧縮・解凍のプログラムを作成中です。
そこで、圧縮ファイルの内容をリストで表示し、
ダブルクリックで直接ファイルを開く、
という事をしようとしています。

ただし、process.startやshellでは、
パスを指定する方法なので、一度ファイルを書き込まないと、
ファイルを開く事ができません。
ファイルのサイズが小さければ支障ないのですが、
大きな物だと時間的に遅くなってしまいます。

それに、仮ファイルを作る為にそのファイルを削除する
手間などが発生してしまいます。

ファイルの解凍では、ストリームを使っているので
ストリームを直接開く方法などがあると便利なのですが、
そのような方法はあるのでしょうか?
ストリームではなくてバイト配列でも問題ありません。

よろしくお願いします。


魔界の仮面弁士  2005-08-09 05:40:05  No: 124009

> ストリームを直接開く方法などがあると便利なのですが、

一般的な手法は無いと思います。……多分。

もしも、ストリームからの読み取りに対応しているソフトウェア
(たとえば、標準入力からの入力に対応しているものなど)であれば
可能かも知れませんが、ファイルからの読み取りにしか対応していない
ソフトウェア(たとえば、メモ帳等)であれば不可能なのでは。


牙竜  2005-08-09 20:17:21  No: 124010

パス指定ではないファイルを開く方法ないのですかね?

よく、解凍ソフトで解凍せずにファイルを開いている
ソフトがあるのですが、言語が違うから可能なのですかね?


ひろ  2005-08-09 21:44:13  No: 124011

ファイル実体がないストリームというと名前付きパイプぐらいしか思いつきませんが・・・

解凍せずにファイルを開いているように見えるのは、実際には作業フォルダに解凍しているだけのことが多いです。


名無し  2005-08-09 23:16:27  No: 124012

言語が違うのではなく考え方が違う


牙竜  2005-08-10 02:05:51  No: 124013

名無しさん、作業フォルダに解凍する方法は、
最初の書き込みで書いてあるように、すでに考慮した上です。
その上で、もっといいものが出来ないかな?と思っていました。

それ以外で考え方が違うという発言が出来るのなら、
作業フォルダに解凍しない方法があるのですか?

まあ、考え方が違う、という発言はおおいに参考になりました。
ストリームを直接開く方法は思いついたので、
これで解決にします。

ある程度、条件が限られますが、出来ました。
後は、ソースを検討して、もっといい物にするだけです。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加