我有一个txt,我想扫描它,每次读取一个整数时我想将它输入到我已经创建的数组中。
如果读取除int之外的其他内容,如何抛出异常,例如String,double或甚至是空行?
这是我读取文件的方法,并完成数组:
file= new Scanner(new File(file_name));
int[] txt = new int[cnt]; // cnt , the number of lines in my txt
while ( file.hasNextInt()) {
txt[count] = file.nextInt();
count++;
}
谢谢:)
答案 0 :(得分:4)
将hashNextInt()
更改为hasNext()
,您将根据要求获得例外,
while (file.hasNextInt()) {
到
while (file.hasNext()) {
答案 1 :(得分:0)
添加Elliott的答案,如果你想检测问题而不抛出异常:
while (file.hasNext()) {
if (file.hasNextInt()) {
txt[count] = file.nextInt();
count++;
} else {
System.error.println(file.next() + " is not an int"); // also skips bad data
}
}
(提示:阅读并尝试理解逻辑......)