お世話になっております。 A.中村です。

On Mon, 13 Oct 2003 04:37:04 +0900
Tanaka Akira様 akr / m17n.org wrote:

> なお、Java 標準の java.io.File はたしかにパス名なのですが、残念なこと
> に java.net.URI などと polymorphic なわけではなく、open するインスタン
> スメソッドもないので、VFS とはあまり関係ないように思います。

余談ですが、java.io.Fileにopenが無いのは、
File(名)が「openできる対象」を指すとは限らないから
なのでしょうね。

とりあえずディレクトリはopenできなさそう。
というかopenが有ったら変。

ああそうか。ディレクトリをもしOpenできたとして、
それに対してgetcharが定義できない(しても意味が無い)からだ。
内容に対して構造が既に決まっているもの
(ディレクトリはファイル名とかの集まりでしょ)に対してまで
構造無しを仮定する1byte読み込みや任意長読み込みを
実装しても無意味だからだ。

ん。ということは、(ファイル名).open「が」返すオブジェクトが、
ファイルとディレクトリとでは全然違うものだ、という形に
すればいいのかな。
ディレクトリならDIRのラッパなのだろうし、
ファイルならFILEのラッパなのだろう。

#ぐぐったら以前(俺が)教えて頂いた模様(^^; [ruby-list:17018] 

#あれ?でもman 3 dirfdっていうC関数もあるのね。
#おーい。せっかく構造化済みなディレクトリを
#構造レスなファイルディスクリプタに還元しちゃったら駄目でしょー

-------

んー。なんてゆーかやっぱり、
Stream(Javaの)とかRider(Oberonの)に相当するものを
用意して初めて、すっきりするような気がするなあ。

-------

そういやjava.ioではディレクトリのサポートは弱いですね。
まあディレクトリは「ioではない」から、無理も無いという気がします(^^;。

#ただ、それ言うならjava.io.Fileもioに属させるのが変な気がします。
#というかURLをjava.netに属させるのも変で、
#ロケータの類はioともnetとも独立させるべきじゃないかな?

あとファイルは有ってもディレクトリの無いシステムなんてザラでしょうから。

#あ。ファイルすらないシステムも多いか。
#Streamの必要性はファイルシステムの必要性とは直交だしなあ。