Господа, добрый день. Прошу помощи.
Нужно написать код, который поможет установить факт наличия слова в файле (т.е. результат тупо true/false). К примеру — у меня есть файл .txt, и мне нужно определить, есть ли в нём слово (например "stackoverflow")?
Но! В массив записывать нельзя. Задача в том, что нужно установить факт наличия слова в процессе чтения файла. Подскажите куда копать?
P.S. 1000 извинений господа, я неправильно объявил ограничения: мне разрешено использовать массив — нельзя коллекции.
Java 8
public boolean fileContainsWord(String fileName, String word) throws IOException {
return new String(Files.readAllBytes(Paths.get(fileName))).contains(word);
}
Без использования contains:
public boolean fileContainsWord(String fileName, String word) throws IOException {
return Files.lines(Paths.get(fileName))
.map(line -> line.split(" *"))
.flatMap(Arrays::stream)
.distinct()
.anyMatch(w -> w.equals(word));
}
Моя вина - забыл уточнить. Мне запрещено использовать методы contains(…) и indexOf(…). Я полагаю от меня требуют реализацию поиска с помощью либо Scanner, либо что то из Readera(a)
У меня получилось так:
boolean isContains = Files
.lines(Paths.get("file.txt"))
.anyMatch(e->e.contains("word"));
Не понимаю как можно не используя contains определить содержание. Можно написать вместо этого свой аналог, но суть такая же.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости