Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何防止ShellFolder.getFolderColumns(…)大量崩溃_Java_File Io_File - Fatal编程技术网

Java 如何防止ShellFolder.getFolderColumns(…)大量崩溃

Java 如何防止ShellFolder.getFolderColumns(…)大量崩溃,java,file-io,file,Java,File Io,File,我在Java中使用秘密隐藏的ShellFolder类。它有一个名为getFolderColumns的好方法,可以让您访问有关该文件的一些好数据 问题是有很多文件会使其崩溃: 线程中的异常 “池-1-线程-2445” java.lang.InternalError:无法 绑定C:\Windows\System32\zonedon.reg 在 Win32ShellFolder2$4.call(Win32ShellFolder2.java:400) 在 Win32ShellFolder2$4.call

我在Java中使用秘密隐藏的ShellFolder类。它有一个名为getFolderColumns的好方法,可以让您访问有关该文件的一些好数据

问题是有很多文件会使其崩溃:

线程中的异常 “池-1-线程-2445” java.lang.InternalError:无法 绑定C:\Windows\System32\zonedon.reg 在 Win32ShellFolder2$4.call(Win32ShellFolder2.java:400) 在 Win32ShellFolder2$4.call(Win32ShellFolder2.java:385) 在 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) 在 Win32ShellFolder2$17.call(Win32ShellFolder2.java:1068) 在 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) 在 Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:492) 在 run(Thread.java:619)

您也无法捕获此消息并继续,因为它会引发未捕获的异常。
我注意到JFileChooser也使用这种方法,但我似乎找不到它对这些类型崩溃的预防/保护。

getFolderColumns方法仅适用于文件夹。因此,缓存列信息(以便知道列的位置),您仍然可以从文件中获取所需的列数据。我没有见过文件夹中的列与文件中的列不同的情况

哦,请注意,这种方法只适用于windows