首先,这不是其他帖子的重复,因为在我的问题中,扫描程序类不识别.txt文件的开头而不是结尾,而是从文件的大约1/2开始。
这是我的代码:
package Program;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class App {
public static void main(String[] args) throws FileNotFoundException {
String filename = "C:\\Users\\vroy\\Programming\\Text documents\\P&P.txt";
File textFile = new File(filename);
Scanner reader = new Scanner(textFile);
// int value = reader.nextInt();
// System.out.println(value);
while (reader.hasNextLine()) {
String line = reader.nextLine();
System.out.println(line);
}
reader.close();
}
}
以下是我的程序正在阅读的.txt文档:
http://www.goodreads.com/ebooks/download/1885.Pride_and_Prejudice?doc=2
我的节目开始打印出文字行,从:“判断错误的行为......”
它应该从文档开始更进一步。
这是扫描仪类的问题吗?
答案 0 :(得分:3)
这是扫描仪类的问题吗?
不。
我刚刚测试了你的代码。答案实际上非常有趣 - 我假设你在Eclipse这样的IDE中运行这段代码。 System.out.println()打印到“控制台”。控制台显示的行数最多,而且由于文件很长,因此无法显示开始。
它循环遍历所有行。为了证明这一点,每当它打印一行时,使其增加一个数字,如:
int counter = 0;
while (reader.hasNextLine()) {
String line = reader.nextLine();
System.out.println(line);
counter++;
}
您将看到计数器正好是文档中的行数。