Выходной файл не содержит все строки, которые я скопировал из источника

1

Ниже приведен код, который я написал, bucketsRow содержит 80 элементов, и инструкция println внутри цикла for корректно показывает это. readFile - это сканер, который выполняет readFile через файл, содержащий 800 строк, в которых элементы являются первым словом, из которых все 80 присутствуют в bucketsRow. Я хочу скопировать эти строки в новый файл, для которого я использовал файл-сценарист.

for(int p=0;p<bucketsRow.length;p++)
{
    System.out.println("p:"+p+"Doc at p:"+names[p]);
    inner: while(readfile.hasNextLine())
    {
        String line=readfile.nextLine();
        //System.out.println(line);
        if(line.indexOf(names[p])!=-1)
        {
            System.out.println(line.indexOf(names[p]));
            writefile.write(line);
            writefile.write(System.getProperty( "line.separator" ));
            break inner;
        }
    }
}
writefile.flush();
writefile.close();     
Теги:
file-io
java.util.scanner
filewriter

1 ответ

1
Лучший ответ

Проблема здесь в том, что вам нужно снова установить фокус указателя ссылки на класс сканера на начало файла и начать повторное сравнение. Из-за этого некоторые из строк пропускаются в выходном файле.

Для получения фокуса в начале файла создайте ссылку сканера только когда вы входите в цикл while.

  • 0
    спасибо :) вот оно что! : D

Ещё вопросы

Сообщество Overcoder
Наверх
Меню