我正在尝试实现一个 JFileChooser,它允许用户通过 ftp 选择远程系统上的文件。
我读过的所有内容都说这可以通过扩展 FileSystemView 来实现,以便覆盖所有文件系统方法(getFiles 等)并通过 ftp 路由。
我没有任何运气来实现这一点,因为 FileSystemView 似乎仍在调用本地函数。
任何人都可以确认可以做到这一点和/或为我指明一个好的方向吗?
我正在尝试实现一个 JFileChooser,它允许用户通过 ftp 选择远程系统上的文件。
我读过的所有内容都说这可以通过扩展 FileSystemView 来实现,以便覆盖所有文件系统方法(getFiles 等)并通过 ftp 路由。
我没有任何运气来实现这一点,因为 FileSystemView 似乎仍在调用本地函数。
任何人都可以确认可以做到这一点和/或为我指明一个好的方向吗?
如果你想实现自己的 FileSystemView 并阻止访问本地文件系统,你当然必须重写所有方法或至少 getSystemDisplayName 和所有 is* 方法。另一个问题当然是 FileSystemView 接口与 File 类密切相关,因此提供非基于文件的实现可能并非易事。
我很确定这是可以做到的。首先,您可以查看MediaChest(又名 PhotoOrganizer)的作者是如何做到的。
在这里发现了相关的代码文件Codase: FtpFileSystemView