我一直在尝试使用扫描仪读取我的文件。从文件中读取,使用扫描仪的java
我得到的错误是NoSuchElementException: No line found
所有的数组都是字符串数组来存储来自文件的信息。 正在使用的分隔符是“;”。
private void choice() {
File file = new File("info.txt");
try {
Scanner read = new Scanner(file);
read.useDelimiter(";");
while (read.hasNextLine()){
if (read.hasNext()){
realName[i] = read.next();
} else {
break;
}
if (read.hasNext()){
userName[i] = read.next();
} else {
break;
}
if (read.hasNext()){
password[i] = read.next();
} else {
break;
}
if (read.hasNext()){
address[i] = read.next();
} else {
break;
}
if (read.hasNext()){
contact[i] = read.next();
} else {
break;
}
if (read.hasNext()){
cardType[i] = read.next();
} else {
break;
}
if (read.hasNext()){
cardNo[i] = read.next();
} else {
break;
}
i++;
}
}
catch ......
}
如果我使用上面的代码,我将永远得到NoSuchElementException: No line found
。
现在我使用下面的代码..一切都会打印出来很好,没有错误。
private void choice() {
File file = new File("info.txt");
try {
Scanner read = new Scanner(file);
read.useDelimiter(";");
while (read.hasNextLine()){
realName = read.nextLine();
System.out.println(realName);
}
}
catch ......
}
一切都将很好地逐行打印。不会有任何问题,但这不是我想要的。我想将它们存储在数组中。
有没有什么我为编码的第一部分做错了?
我也使用read.hasNext()
而不是read.hasNextLine()
。 但也有错误。
任何一种灵魂都可以帮忙吗?
==编辑 对不起。我没有在info.txt中显示数据,它是这样的。
Mr Dash;dash;dash123;Dash Lane 1;414924934;VISA;1219240241029021092
Mr Long;long;long123;Long Lane 1;3924929;MASTERCARD;123902039109329
你能显示info.txt的内容吗? – 2013-04-28 10:32:53
我自己解决了。所以感谢您的帮助! – John 2013-04-29 05:29:34