gpt4 book ai didi

java - JFileChooser - 浏览到共享路径为\\machineIp

转载 作者:行者123 更新时间:2023-11-30 03:19:00 26 4
gpt4 key购买 nike

我在 Swing 应用程序中使用 JFileChooser。用户需要浏览到共享路径,例如\\ip\(例如\\100.150.200.222\——在 Windows 资源管理器中,该路径是可访问的并且包含该计算机上的所有共享文件夹)。当用户键入\\ip\并单击“打开”时,文件选择器窗口将关闭。相反,如果用户在远程系统中提供任何共享文件夹名称,则文件选择器将显示文件(例如\\100.150.200.222\sharedFolder\)。请帮助解决这个问题,以便用户可以浏览到\\ip\

最佳答案

\\100.150.200.222\ -- in windows explorer this path is accessible and contains all shared folders on that machine

确实如此,但 \\100.150.200.222 本身并不是文件夹,这就是文件选择器不起作用的原因。为了列出此 IP 地址处的共享文件夹,解决方案是使用本文中建议的第三方库: Shares Under IP

String[] foldernames = new SmbFile("smb://100.150.200.222/").list();

然后我看到三种可能的解决方案让用户选择文件:

  1. 您知道此 IP 地址只有一个相关共享文件夹:

然后,这非常简单:使用 JCIFS 获取第一个共享文件夹的名称,然后在文件选择器中打开它。

File folder = new File("\\100.150.200.222\"+foldernames[0]);
new JFileChooser(folder).showSaveDialog(null);
  • 让用户通过中间对话框选择共享文件夹。从用户体验的角度来看,这并不是很好,但是可以用 JOptionPane.showInputDialog() 一行完成。 .
  • 字符串文件夹名称 = JOptionPane.showInputDialog(..., 文件夹名称, ...);

  • 确实需要在文件选择器中显示共享文件夹列表。这并不容易,但也并非不可能。看看this post 。挑战在于您必须扩展 File 并重写许多相关方法。然后将此文件提供给您的文件选择器。
  • 关于java - JFileChooser - 浏览到共享路径为\\machineIp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31808014/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com