Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

ローカルPCから共有ディレクトリに接続できるホスト名一覧を取得したい

共有ディレクトリのapiはjcifsなるものがあります。

ホスト名を指定すれば、そのホスト名のディレクトリ一覧を取得できます。

私がやりたいのはホスト名を指定せずにそのマシンから覗ける共有ディレクトリがあるホスト名一覧を取得したいです。

これってjavaで可能でしょうか?
よろしくお願いいたします。

1

回答

10499

閲覧

1件の回答

評価

0

import java.io.File;
import java.lang.reflect.*;
import javax.swing.filechooser.FileSystemView;

/**
 * 参考URL:http://programmer-toy-
box.sblo.jp/article/9919455.html
 */
public class GetRoot {

    public static void main(String[] args) {
        main2(args);
    }

    public static void main2(String[] args) {
        FileSystemView fsv = 
FileSystemView.getFileSystemView();
        
        for (File f : File.listRoots()) {
            System.out.println("<<< " + 
f.toString() + " >>>");
            
            
System.out.println("FileSystemView#isFileSystemRoo
t("+f.toString()+")=>" + fsv.isFileSystemRoot(f));
            
System.out.println("FileSystemView#isDrive("+f.toS
tring()+")=>" + fsv.isDrive(f));
            
System.out.println("FileSystemView#isHiddenFile("+
f.toString()+")=>" + fsv.isHiddenFile(f));
            
System.out.println("FileSystemView#isFileSystem("+
f.toString()+")=>" + fsv.isFileSystem(f));

            
System.out.println("FileSystemView#getSystemDispla
yName("+f.toString()+")=>" + 
fsv.getSystemDisplayName(f));
            
System.out.println("FileSystemView#isTraversable("
+f.toString()+")=>" + fsv.isTraversable(f));

            
System.out.println("FileSystemView#isRoot("+f.toSt
ring()+")=>" + fsv.isRoot(f));
            
System.out.println("FileSystemView#getSystemTypeDe
scription("+f.toString()+")=>" + 
fsv.getSystemTypeDescription(f));
            
System.out.println("FileSystemView#getSystemIcon("
+f.toString()+")=>" + fsv.getSystemIcon(f));

            
System.out.println("FileSystemView#isFloppyDrive("
+f.toString()+")=>" + fsv.isFloppyDrive(f));
            
System.out.println("FileSystemView#isComputerNode(
"+f.toString()+")=>" + fsv.isComputerNode(f));
            
System.out.println("FileSystemView#getSystemIcon("
+f.toString()+")=>" + fsv.getSystemIcon(f));

        
        }
    }
}

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。