2011-12-12 12 views
6

特定のIPアドレスの下にある利用可能な共有フォルダをすべてリストする方法はありますか?IP下の株式

モックコード:

IP ip = new IP("10.0.0.9"); 

for(File share : ip.getSharedFolders){ 
    System.out.println(share.getName()); 
} 

は、これを達成することができる方法はありますか?

私はWindowsのネットワークエクスプローラと似たようなものを作りたいので、特定のIPの下にすべての共有フォルダを取得してツリーを作成する必要があります。私はあなたがやろうとしているものをサポートしていません箱の外からこの

for(File f : new File("//10.0.0.9/d").listFiles()){ 
        System.out.println(f.getName()); 
+0

「共有フォルダ」ローカルファイルをリストについての詳細を知るには、このリンクを参照してください? - どのように共有し –

+1

新しいファイル( "// 10.0.0.9/d/movies")Samba共有、ネットワークロケーション – ex0b1t

答えて

11

The Java CIFS Client Library、特にSmbFile.listメソッドを使用して共有のリストを取得できます。ここでは、このAPIを使用する方法の小さなイラストです:

SmbFile server = new SmbFile("smb://server/"); 
String[] shares = server.list(); 
+0

速い応答のためのthx – ex0b1t

+0

これは本当にクールです!+1ありがとう – MaVRoSCy

2

Javaのような低いレベルを得ることができeasely最初のレベルの共有フォルダで

Network explorer

。 これを行うには、JCIFSなどのライブラリを使用する必要があります。

簡単な解決方法は、ドライブマッピング(他のOS用のWindowsまたはnfs/smbマウントの場合)を場所に適用してから、ローカルファイルとして処理することです(java.io APIを使用)。

0

ファイルでは、次の操作を実行して再帰的にそれらすべてを一覧表示することができ、その後必ずサーバーのIPアドレス(ネットワーク賢明と許可賢明な)を介してアクセスしている場合:

  1. リモートフォルダ名を取得します。例"//10.0.0.9/folder"
  2. ローカルディレクトリ内のファイルを一覧表示するために行うのと同じように、そのフォルダを繰り返し処理(ローカルディレクトリに
関連する問題