Я пишу небольшое java-приложение, которое будет сканировать текстовый файл на наличие вхождений определенного слова и должно иметь функцию, с помощью которой он может сообщать, что экземпляр слова был найден как 14-е слово в файле.третья строка, например.
Для этого я попытался использовать следующий код, который, как я думал, проверит, чтобы увидеть, был ли ввод символом новой строки (\ n), а затем увеличил строковую переменную, которую ясоздал:
FileInputStream fileStream = new FileInputStream("src/file.txt");
DataInputStream dataStream = new DataInputStream(fileStream);
BufferedReader buffRead = new BufferedReader(new InputStreamReader(dataStream));
String strLine;
String Sysnewline = System.getProperty("line.separator");
CharSequence newLines = Sysnewline;
int lines = 1;
while ((strLine = buffRead.readLine()) != null)
{
if(strLine.contains(newLines))
{
System.out.println("Line Found");
lines++;
}
}
System.out.println("Total Number Of Lines In File: " + lines);
Это не работает, просто отображается 0 в конце этого файла.Я знаю, что данные помещаются в strLine во время цикла while, как будто я немного изменяю код для вывода строки, она успешно получает каждую строку из файла.
Может кто-нибудь узнать причину, почемукод выше не работает?