小编Tod*_*ebb的帖子

如何在Java 9+中使用JFileChooser显示网络共享?

我们软件的用户需要在我们的Java swing应用程序中浏览Windows 10上的网络共享,但是swing的JFileChooser默认情况下不具备此功能.

在这篇相关文章中 如何在JFileChooser中导航到网络主机? 使用ShellFolder(sun私有API)来设置JFileChooser的当前目录是一个不错的解决方案,我们在过去几年中一直使用这种方法进行一些修改而没有任何问题.

public static File getNetworkShareFolder( final File folder ) throws IllegalArgumentException {
  final File file = new NonCanonicalizingFile( folder.getPath() );
  if( isNetworkShareFolder( file ) ) { // assume Win32ShellFolderManager2 will be present
     try {
        // JRE-13272 -PRIVATE API that must eventually be swapped for Java 9 alternative
        // Using reflection because Win32ShellFolderManager2 may not exist in rt.jar on Linux build server
        final Class win32ShellMgr = Class.forName( "sun.awt.shell.Win32ShellFolderManager2" );
        // get static creation method from class, …
Run Code Online (Sandbox Code Playgroud)

java windows smb jfilechooser network-share

7
推荐指数
1
解决办法
172
查看次数

标签 统计

java ×1

jfilechooser ×1

network-share ×1

smb ×1

windows ×1