“正确”在使用扫描仪时读取输入文件时操作“光标”

时间:2011-04-25 10:45:43

标签: java cursor textinput cursor-position

这是从.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 个答案:

答案 0 :(得分:0)

在每次循环中,您从文件扫描程序中获取一个新行,然后创建一个仅在该行上迭代的新Scanner实例。在lineinput = readLine.next();之后,光标位于'A'行的文件名之后;但是外部扫描仪的光标位于下一行的开头。