OS:windows2000
言語:vb .net
現在、圧縮・解凍のプログラムを作成中です。
そこで、圧縮ファイルの内容をリストで表示し、
ダブルクリックで直接ファイルを開く、
という事をしようとしています。
ただし、process.startやshellでは、
パスを指定する方法なので、一度ファイルを書き込まないと、
ファイルを開く事ができません。
ファイルのサイズが小さければ支障ないのですが、
大きな物だと時間的に遅くなってしまいます。
それに、仮ファイルを作る為にそのファイルを削除する
手間などが発生してしまいます。
ファイルの解凍では、ストリームを使っているので
ストリームを直接開く方法などがあると便利なのですが、
そのような方法はあるのでしょうか?
ストリームではなくてバイト配列でも問題ありません。
よろしくお願いします。
> ストリームを直接開く方法などがあると便利なのですが、
一般的な手法は無いと思います。……多分。
もしも、ストリームからの読み取りに対応しているソフトウェア
(たとえば、標準入力からの入力に対応しているものなど)であれば
可能かも知れませんが、ファイルからの読み取りにしか対応していない
ソフトウェア(たとえば、メモ帳等)であれば不可能なのでは。
パス指定ではないファイルを開く方法ないのですかね?
よく、解凍ソフトで解凍せずにファイルを開いている
ソフトがあるのですが、言語が違うから可能なのですかね?
ファイル実体がないストリームというと名前付きパイプぐらいしか思いつきませんが・・・
解凍せずにファイルを開いているように見えるのは、実際には作業フォルダに解凍しているだけのことが多いです。
言語が違うのではなく考え方が違う
名無しさん、作業フォルダに解凍する方法は、
最初の書き込みで書いてあるように、すでに考慮した上です。
その上で、もっといいものが出来ないかな?と思っていました。
それ以外で考え方が違うという発言が出来るのなら、
作業フォルダに解凍しない方法があるのですか?
まあ、考え方が違う、という発言はおおいに参考になりました。
ストリームを直接開く方法は思いついたので、
これで解決にします。
ある程度、条件が限られますが、出来ました。
後は、ソースを検討して、もっといい物にするだけです。
ツイート | ![]() |