File.listRoots on UNIX2008年09月07日 12時28分34秒

Java の File クラスには、listRoots という静的関数があり、システムのルートを全て返す関数がある。

しかし、JavaDoc にも各プラットフォームでどの様な値が返されるのか例も書かれていない。「Write Once, Run Anywhere」を一時期は売りにしていたが、こういうシステム依存関数の場合は例を出してもらわないと何が返ってくるのか良く判らない。

自分で、必要なプラットフォームを全て手にいれて試すしか無い。本末転倒だが、自分で調べるしか無い。

簡単なプログラムでいい。


% cat ListRoots.java
import java.io.File;

class ListRoots
{
    public static void main(String args[])
    {
        for(File f:File.listRoots())
            System.out.println(f.getAbsolutePath());
    }
}

Java 1.5 でコンパイルした物を ListRoots.class に置いておいた。興味があったら使って欲しい。

ちなみに UNIX 上での出力はこうなる。正確には、FreeBSD だが。


% java ListRoots
/

Windows での出力。 Mac OS X での出力。

次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/09/07/3749226/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。