当我运行代码时,有时,每当我使用 jfilechooser 时都会弹出此错误。我使用的 imagefilter 和 utils 来自 here 。我在网上搜索过这个,但我只看到了诸如降级 java.util.constructor 之类的修复。
我的 java 版本为 1.8.0_25-b18
,目前使用 netbeans 8.0.2
作为我的 IDE
。
Exception in thread "Basic L&F File Loading Thread" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1954)
at datacomparison.Utils.getName(Utils.java:36)
at datacomparison.ImageFilter.accept(ImageFilter.java:27)
at javax.swing.JFileChooser.accept(JFileChooser.java:1650)
at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run0(BasicDirectoryModel.java:252)
at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:228)
最佳答案
因此,在 Util.getName() 方法(在您链接到的代码中)中,如果文件名中没有句点,则 lastIndexOf() 返回 -1 并且 StringIndexOutOfBounds 将在下一行中发生。我无法判断您的情况是否发生了这种情况,没有足够的信息,但看起来有可能。编写该代码的人并没有计划文件名没有句点的情况。
下次,将所有必要的代码放入您的问题中,而不是其他地方代码的链接。
关于java - 线程 "Basic L&F File Loading Thread"中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29716290/