"правильно" манипулировать "курсором" при чтении входного файла при использовании сканеров - PullRequest
0 голосов
/ 25 апреля 2011

Является ли это «правильным способом» вытаскивания символа и строки из строки текста во входном файле .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 голосов
/ 26 апреля 2011

При каждом прохождении цикла вы выбираете новую строку из файлового сканера, а затем создаете новый экземпляр сканера, который выполняет итерацию только по этой строке.После lineinput = readLine.next(); курсор находится после имени файла в строке 'A';однако курсор внешнего сканера находится в начале следующей строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...