2016-12-14 13 views
-1

Итак, у меня есть сканер, который читает текстовый файл из многих строк, используя while (file.hasNext()), однако после того, как он достигнет конца текстового файла, как я могу сделать это, чтобы начать чтение строк из начиная снова для отдельного цикла while?Как начать чтение строк из текста с начала снова?

+0

Проверить этот ответ, он будет probaly поможет http://stackoverflow.com/a/11665098/4060470 –

+0

создать новый экземпляр Сканер с этим файлом и снова прочитайте текстовый файл. По количеству строк было бы более эффективно хранить информацию после первого чтения и повторного использования. – davidxxx

+1

Возможный дубликат [Сброс сканера .nextLine()] (http://stackoverflow.com/questions/13991494/resetting-a-nextline-scanner) – choasia

ответ

0

Если вы хотите прочитать несколько файлов (например, «text1.txt, text2.txt, text3.txt..etc»), это то, что вы можете сделать:

Реализовать файл для чтения в методе например:

public void readFile(String filename){ 
    //all the code for file reading goes here 
} 

String[] filesToRead = new String[]{"text1.txt", "text2.txt", "text3.txt"}; 
for(int x=0; x<filesToRead.length; x++) //iterate through the file names 
    readFile(filesToRead[x]);    //repeatedly invoked to read various files 

Сертифицированно, вы также можете сохранить имена файлов в другом текстовом файле и просто прочитать оттуда. Таким образом, вам даже не придется перекомпилировать вашу программу, если вы хотите изменить список файлов, которые нужно читать.

Пример:

FilesToRead.txt

text1.txt 
text2.txt 
text3.txt