2010-11-25 3 views
0

Java에서 비밀 숨겨진 ShellFolder 클래스를 사용하고 있습니다. getFolderColumns라는 멋진 메서드가있어서 파일에 대한 멋진 데이터에 액세스 할 수 있습니다. 당신은이를 잡아 그것의 uncaughtException을 던져으로 다시 시작할 수 없습니다ShellFolder.getFolderColumns (...)가 많은 충돌을 방지하는 방법

Exception in thread "pool-1-thread-2445" java.lang.InternalError: Unable to bind C:\Windows\System32\zonedon.reg to parent at sun.awt.shell.Win32ShellFolder2$4.call(Win32ShellFolder2.java:400) at sun.awt.shell.Win32ShellFolder2$4.call(Win32ShellFolder2.java:385) at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:523) at sun.awt.shell.ShellFolder.invoke(ShellFolder.java:399) at sun.awt.shell.ShellFolder.invoke(ShellFolder.java:385) at sun.awt.shell.Win32ShellFolder2.getIShellFolder(Win32ShellFolder2.java:384) at sun.awt.shell.Win32ShellFolder2$17.call(Win32ShellFolder2.java:1068) at sun.awt.shell.Win32ShellFolder2$17.call(Win32ShellFolder2.java:1066) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:492) at java.lang.Thread.run(Thread.java:619)

:

문제는 파일이 많이와 충돌한다는 것입니다. JFileChooser도이 방법을 사용하지만 이러한 유형의 충돌로부터 예방/보호 기능을 찾을 수없는 것으로 나타났습니다.

답변

0

getFolderColumns 메서드는 폴더에서만 작동합니다. 따라서 열 정보를 캐시하므로 (열 위치를 알 수 있음) 파일에서 필요한 열 데이터를 얻을 수 있습니다. 폴더의 열이 파일과 다른 경우를 보지 못했습니다.

아,이 방법은 Windows에서만 유용합니다.

관련 문제