使用扫描仪读取输入文件时“正确”操作“光标”
Posted
技术标签:
【中文标题】使用扫描仪读取输入文件时“正确”操作“光标”【英文标题】:"properly" Manipulate "cursor" when reading an input file when using scanners 【发布时间】:2011-08-12 06:22:58 【问题描述】:这是从 .txt 输入文件中的一行文本中提取字符和字符串的“正确方法”吗?
Scanner scan, readLine;
System.out.print("Enter the name of your transaction file please (include .txt extension): ");
transFilename = scan.nextLine();
scan = new Scanner(new FileReader(transFilename));
while (scan.hasNext())
// read a whole line, then use scanner to parse
readLine = new Scanner(scan.nextLine());
code = readLine.next().toUpperCase().charAt(0);
switch (code)
case 'A':
lineinput = readLine.next();
filename = lineinput;
System.out.println(filename);
Scanner input = new Scanner( new FileReader(filename));
break;
示例输入文本文件读取:
A blahblah.txt
B
A gahgah.txt
当这行代码运行时:lineinput = readLine.next(); 在 while 循环的迭代期间光标是否回到行首?我只想知道扫描仪“光标”如何在每一行中移动。
例子:(^代表光标位置):
A blahblah.txt
^
【问题讨论】:
【参考方案1】:每次通过循环时,您从文件扫描器中获取一个新行,然后创建一个仅在该行上迭代的新 Scanner 实例。在lineinput = readLine.next();
之后,光标在'A'
行上的文件名之后;但是外部 Scanner 的光标位于下一行的开头。
【讨论】:
以上是关于使用扫描仪读取输入文件时“正确”操作“光标”的主要内容,如果未能解决你的问题,请参考以下文章