Search code examples
javawindowsnetwork-programmingfilesystemssamba

Shares Under IP


How to list all the available shared folders under a specific IP Address?

Mock code:

IP ip = new IP("10.0.0.9");

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

Is there a way in which this can be accomplished?

I want to make something similar to windows network explorer and I need to get all the shared folders under a specific IP so I can ggenerate a tree.

Network explorer

With the first level shared folders I can easely get the lower levels like this

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

Solution

  • You can get the list of shares using the The Java CIFS Client Library and in particular the SmbFile.list method. Here is a small illustration of how to use this API:

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