如何列出特定IP地址下的所有可用共享文件夹?
模拟代码:
IP ip = new IP("10.0.0.9"); for(File share : ip.getSharedFolders){ System.out.println(share.getName()); }
有没有办法可以实现这一点?
我想做类似于Windowsnetworking浏览器的东西,我需要得到所有的共享文件夹在一个特定的IP下,所以我可以生成一棵树。
使用第一级共享文件夹,我可以轻松地获得这样的较低级别
for(File f : new File("//10.0.0.9/d").listFiles()){ System.out.println(f.getName());
您可以使用Java CIFS客户端库 ,特别是SmbFile.list方法获取共享列表。 这里是一个如何使用这个API的小例子:
SmbFile server = new SmbFile("smb://server/"); String[] shares = server.list();
从开箱即用的Java不支持你正在做的事情。 您需要使用JCIFS等库来执行此操作。
一个简单/方便的方法是确保你有一个驱动器映射(如果Windows或nfs / smb安装其他操作系统)的位置,然后将其视为本地文件 – 使用java.io
API。
如果可以通过服务器IP地址访问文件(网络明智和权限明智),那么确定您可以通过执行以下操作递归列出它们:
"//10.0.0.9/folder"