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