我在阅读简单的文本文件时遇到问题,似乎无法弄清楚原因。 我以前做过这个,我不确定问题是什么。 任何帮助将不胜感激!
import java.io.File;
import java.util.Scanner;
public class CS2110TokenReader {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File theFile = new File("data1.txt");
Scanner scnFile = new Scanner(theFile);
try {
scnFile = new Scanner(theFile);
} catch (Exception e) {
System.exit(1);
}
while (theFile.hasNext()) {
String s1 = theFile.next();
Double d1 = theFile.nextDouble();
System.out.println(s1 + " " + d1);
}
}
}
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method hasNext() is undefined for the type File
The method next() is undefined for the type File
The method nextDouble() is undefined for the type File
at CS2110TokenReader.main(CS2110TokenReader.java:20)
它甚至不会扫描下一行。 这就是我的目标。 扫描和阅读。
while (theFile.hasNext()) { // change to `scnFile.hasNext()`
String s1 = theFile.next(); // change to `scnFile.next()`
Double d1 = theFile.nextDouble(); // change to `scnFile.nextDouble()`
System.out.println(s1 + " " + d1);
}
您正在File
引用上调用Scanner
类的方法。在所有调用中将theFile
替换为scnFile
。
其次,您正在调用next()
和nextDouble()
,但只检查一次hasNext()
。这可能会让你在某个时间点NoSuchElementException
。在实际阅读之前,请确保您有要阅读的输入。