我在Swing应用程序中使用JFileChooser。用户需要浏览到共享路径,例如\\ ip \(例如\\ 100.150.200.222 \ - 在Windows资源管理器中,此路径是可访问的,并包含该计算机上的所有共享文件夹)。 当用户键入\\ ip \并单击“OPEN”时,文件选择器窗口将关闭。 相反,如果用户在远程系统中提供任何共享文件夹名称,则文件选择器将显示文件(例如\\ 100.150.200.222 \ sharedFolder \)。 请帮助克服这个问题,以便用户可以浏览到\\ ip \
答案 0 :(得分:2)
\\100.150.200.222\
- 在Windows资源管理器中,此路径可以访问,并包含该计算机上的所有共享文件夹
确实,但\\100.150.200.222
不是文件夹本身,这就是文件选择器不起作用的原因。要在此IP地址列出共享文件夹,解决方案是使用此帖子中建议的第三方库:Shares Under IP
String[] foldernames = new SmbFile("smb://100.150.200.222/").list();
然后我看到三种可能的解决方案让用户选择一个文件:
然后,这非常简单:使用JCIFS获取第一个共享文件夹的名称,并在文件选择器中打开它。
File folder = new File("\\100.150.200.222\"+foldernames[0]);
new JFileChooser(folder).showSaveDialog(null);
JOptionPane.showInputDialog()
在一行中完成。 String foldername = JOptionPane.showInputDialog(..., foldernames, ...);
File
并覆盖许多相关方法。然后将此文件提供给文件选择器。