2011-12-12 101 views
6

如何列出特定IP地址下的所有可用共享文件夾?IP下的共享

模擬代碼:

IP ip = new IP("10.0.0.9"); 

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

是否有在此可以實現的方法嗎?

我想做類似於Windows網絡瀏覽器的東西,我需要獲得特定IP下的所有共享文件夾,所以我可以生成一棵樹。

Network explorer

與第一種級別的共享文件夾,我可以從easely開箱拿到較低水平這樣

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

回答

2

Java不支持你正在嘗試做的。 您需要使用庫如JCIFS來做到這一點。

一個簡單的方法就是確保你有一個驅動器映射(如果Windows或nfs/smb安裝其他操作系統)到該位置,然後將其視爲本地文件 - 使用java.io API。

0

如果文件是通過服務器IP地址訪問(網絡明智和權限明智的),那麼相信你可以做全部列出來遞歸如下:

  1. 獲取遠程文件夾名稱。例如"//10.0.0.9/folder"
  2. 迭代通過該文件夾,就像你會做列出文件在本地目錄(見鏈接瞭解更多有關在本地目錄列表本地文件