我在Java中使用秘密隐藏的ShellFolder类。它有一个很好的方法getFolderColumns,让您可以访问一些关于文件的好数据。
问题是,许多文件会使其崩溃:
线程中的异常
“池-1-线程-2445”
java.lang.InternalError:无法
绑定C:\ Windows\System32\zonedon.reg
家长
sun.awt.shell.Win32ShellFolder2$4.call(Win32ShellFolder2.java:400)
在
sun.awt.shell.Win32ShellFolder2$4.call(Win32ShellFolder2.java:385)
在
sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:523)
在
sun.awt.shell.ShellFolder.invoke(ShellFolder.java:399)
在
sun.awt.shell.ShellFolder.invoke(ShellFolder.java:385)
在
sun.awt.shell.Win32ShellFolder2.getIShellFolder(Win32ShellFolder2.java:384)
在
sun.awt.shell.Win32ShellFolder2$17.call(Win32ShellFolder2.java:1068)
在
sun.awt.shell.Win32ShellFolder2$17.call(Win32ShellFolder2.java:1066)
在
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
在
java.util.concurrent.FutureTask.run(FutureTask.java:138)
在
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
在
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
在
sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:492)
在
运行(Thread.java:619)
你也无法捕捉到这个并继续,因为它抛出了一个未捕获的异常。
我注意到JFileChooser也使用这种方法,但我似乎找不到它对此类崩溃的预防/保护。