Java 我在哪里把ArrayIndexOutOfBounds 1扔到堆栈上

Java 我在哪里把ArrayIndexOutOfBounds 1扔到堆栈上,java,Java,我被难住了。我正试图写一个程序来获取我爸爸音乐的标签。我已经看了这段代码将近两天了,我不知道它会在哪里抛出ArrayIndexOutOfBounds:1异常 它的工作规模很小,但当我在我父亲的机器上运行它时,它在完成92000首歌曲后抛出异常,他有超过300000首歌曲 以下是我正在使用的代码: 任何帮助都将不胜感激 while(!stack.isEmpty()) { String data = ""; St

我被难住了。我正试图写一个程序来获取我爸爸音乐的标签。我已经看了这段代码将近两天了,我不知道它会在哪里抛出ArrayIndexOutOfBounds:1异常

它的工作规模很小,但当我在我父亲的机器上运行它时,它在完成92000首歌曲后抛出异常,他有超过300000首歌曲

以下是我正在使用的代码:

任何帮助都将不胜感激

while(!stack.isEmpty())
            {
                String data = "";
                String s = stack.pop();

                if (s.endsWith(".mp3"))
                {
                    count++;    i++;
                    Song song = new Song(new File(s));
                    data = song.toString();
                        DisplayGUI.setLoadingCurrent("CURRENTLY WORKING ON : " + Integer.toString(count) + 
                                                     " OF " + Integer.toString(total));
                        DisplayGUI.setLoadingData(new File(s).getPath());
                    writer.write(data + "\r\n");

                    if (i == 1000)                   // counter
                    {
                        System.out.println(count);
                        i = 0;
                    }
                }
                else
                {
                    for (String ext : exts)
                    {
                        if (s.endsWith(ext))
                        {
                            count++;    i++;

                            data = data + "\"\",";                                                         // Empty Title
                            data = data + "\"\",";                                                         // Empty Artist
                            data = data + "\"\",";                                                         // Empty Album
                            data = data + "\"\",";                                                         // Empty Album Artist
                            data = data + "\"\",";                                                         // Empty Grouping
                            data = data + "\"\",";                                                         // Empty Genre
                            data = data + Long.toString(new File(s).length()) + ',';                       // Size
                            data = data + ',';                                                             // Empty Length
                            data = data + ',';                                                             // Empty Get Disc Number
                            data = data + ',';                                                             // Empty Get Total Disc Numbers
                            data = data + ',';                                                             // Empty Get Track Number
                            data = data + ',';                                                             // Empty Get Total Track Numbers
                            data = data + ',';                                                             // Empty Year
                            data = data + "\"" + ext + "\",";                                              // Ext
                            data = data + "\"\",";                                                         // Empty Comments
                            data = data + '\"' + new File(s).getPath() +'\"';                              // Path
                            data = data + ",\"" + new File(s).getParentFile().getAbsolutePath() + "\"";    // Folder
                            data = data + ",0";                                                            // Wins
                            data = data + ",0";                                                            // Loses
                            data = data + ",0";                                                            // Difference

                                DisplayGUI.setLoadingCurrent("CURRENTLY WORKING ON : " + Integer.toString(count) + 
                                                             " OF " + Integer.toString(total));
                                DisplayGUI.setLoadingData(new File(s).getPath());

                            writer.write(data + "\r\n");

                            if (i == 1000)                   // counter
                            {
                                System.out.println(count)
                                i = 0;
                            }
                            break;
                        }
                    }
                }
            }

错误消息是什么?它是否告诉您它在哪一行代码处中断?您应该提供更多详细信息;
ArrayIndexOutOfBoundsException
将包含一个行号,该行号应说明您的代码在哪一点发生故障。亲爱的,您还需要添加异常堆栈跟踪。在try-catch块中包含整个代码。因此,当执行失败时,将获得堆栈跟踪。在这里发布或使用它来分析问题。您使用的是IDE吗?你能发布错误消息并逐条查看代码的抛出位置吗?是的,在调试模式下执行代码是个好主意,但是。正如他提到的,他在92K之后遇到了异常,调试起来可能很困难