如何列出特定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 :(得分:11)
您可以使用The Java CIFS Client Library,特别是SmbFile.list方法获取共享列表。以下是如何使用此API的小例子:
SmbFile server = new SmbFile("smb://server/");
String[] shares = server.list();
答案 1 :(得分:2)
开箱即用的Java不支持您要执行的操作。 您需要使用JCIFS等库来执行此操作。
一个简单/明智的方法是确保你有一个驱动器映射(如果是其他操作系统的windows或nfs / smb安装)到该位置,然后将其视为本地文件 - 使用{{1} } API。
答案 2 :(得分:0)
如果可以通过服务器IP地址访问文件(网络明智和权限),那么请确保您可以通过执行以下操作以递归方式列出这些文件:
"//10.0.0.9/folder"