【发布时间】:2023-03-31 19:01:01
【问题描述】:
10
aaa aaa aaa
bbb bbb bbb
ccc ccc ccc
ddd ddd ddd
我有一个文本文件,我试图用制表符分隔符读取。每当我读取文件时,我在 10 之后得到一个 arrayindexoutofbound 错误。我在网上搜索,发现我必须在 \t 后面添加一个 -1 但我仍然得到同样的错误。
try{
Scanner scan = new Scanner(new File("1.txt"));
String line="";
int readline = Integer.parseInt(scan.nextLine());//
while (scan.hasNextLine())
{
line = scan.nextLine();
if(line.equals("ccc"))
{
break;
}
String[] split=line.split("\t");
array.add(split);
}
【问题讨论】:
-
你知道
break语句的作用吗? -
你为什么要使用 parseInt ?那是为了从字符串中获取 int 值。
-
无论出于何种原因,第一行显然都是一个数字。在您发布的代码中我看不到任何地方会导致数组索引超出范围。您可以发布更多代码或堆栈跟踪吗?
-
如果您说哪个函数调用引发了 ArrayIndexOutOfBounds 异常,这将很有帮助。
-
你能发布堆栈跟踪吗?我的意思是答案很简单,但没有人能看到
ArrayIndexOutOfBoundException的原因
标签: java file text tabs delimiter