Почему мой цикл работает до бесконечности, а не останавливается в какой-то момент, даже если в моем текстовом файле есть конечное (10) количество строк.Почему мой цикл while работает до бесконечности?
import java.util.*;
import java.io.*;
public class numberOfLines{
public static void main(String[] args){
try{
Scanner cs=new Scanner(new File("poem.txt"));
int i=0;
while(cs.hasNextLine()){
System.out.println(i);
}
} catch(FileNotFoundException e){
System.out.print("File not found");
}
}
}
Заранее благодарю за помощь по этой проблеме.
Вы никогда не читали следующую строку, поэтому «Сканер» остается в строке 0 и возвращает «true». – Zircon
Кстати, так вы считаете [количество строк в файле] (http://stackoverflow.com/questions/453018/number-of-lines-in-a-file-in-java) –
Если вы никогда не двигаетесь вперед, ответ на вопрос: «Мы еще там?» * никогда не изменится. – Andreas