【发布时间】:2013-05-25 13:04:30
【问题描述】:
我正在尝试使用字符串标记器将数据从文件导入数组。
文件中的数据格式是
AA,BB,CC
AA,BB,CC
但我不断收到错误
Exception in thread "main" java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
at java.util.StringTokenizer.nextElement(StringTokenizer.java:407)
at main.main(main.java:36)
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.StringTokenizer;
public class main {
public static void main(String[] args) throws FileNotFoundException {
Scanner input;
String line;
int x=0;
String [] cName = new String [100];
String [] cMascot = new String [100];
String [] cAlias = new String [100];
input = new Scanner(new File("test.txt"));
while(input.hasNextLine()) {
line = input.nextLine();
StringTokenizer strings = new StringTokenizer(line,",");
while (strings.hasMoreElements()) {
cName[x] = strings.nextElement().toString();
cMascot[x] = strings.nextElement().toString();
cAlias[x] = strings.nextElement().toString();
x++;
}
}
}
}
因此,我们将不胜感激。我不能使用数组列表,以便脱离上下文
【问题讨论】:
-
如果所有行都有这种格式,为什么不直接使用
.split()? -
你不应该在调用每个
nextElement()之前检查hasMoreElements()吗? -
@fge 我是 java 新手,可以告诉我该怎么做吗?
-
@我检查更多元素的新白痴“strings.hasMoreElements()”
-
您可以随时尝试调试...
标签: java arrays file stringtokenizer