Я хочу написать функцию в Java, которая ищет конкретную строку в текстовом файле. Какую петлю я должен использовать и как? (Скажем, это петля в то время, что такое состояние?)Поиск строки в файле
ответ
Наиболее часто используемая петлей для этого является while
циклом, потому что вы необходимо выполнить цикл и сравнить, если строка, удаленная из файла, не null
. Ну, это сказано, давайте посмотрим какой-то код. Решение, которое вы можете написать, - это открыть файл сначала в экземпляре BufferedReader
, после чего вы будете читать его по очереди и посмотреть, содержит ли строка строку, которую вы ищете. Если это так, вы можете использовать переменную boolean
и назначить ее true, иначе назначьте ее false. Вы можете иметь что-то вроде этого в Java:
public static boolean findStringFile(String lookingForMe, String pathFile)
{
boolean found = false;
try{
BufferedReader br = new BufferedReader(new FileReader(pathFile));
try{
String line;
while ((line = br.readLine()) != null)
{
if (line.contains(lookingForMe))
found = true;
}
} finally {
br.close();
}
} catch(IOException ioe)
{
System.out.println("Error while opening the file !");
}
return found;
}
Эта функция получит String lookingForMe
в качестве первого параметра, представляющего строку, которую Вы ищете в файле, в качестве второго параметра String pathFile
, который представляет собой путь к файлу (это может быть только nameOfTheFile.extension
, когда он находится в корне проекта).
Надеюсь, это может вам помочь.
Редактировать
Выполнения следующей части коды (ниже) не всегда успешен, если у вас есть проблемы с файлом (файл не существует или не может быть открыт из-за привилегии или что-то иначе) или любой другой проблемой, выполнение остановится и вызовет исключение.
BufferedReader br = new BufferedReader(new FileReader(pathFile));
String line;
while ((line = br.readLine()) != null)
{
if (line.contains(lookingForMe))
found = true;
}
Цель «попробовать», чтобы избежать подобных проблем, отображая сообщение об ошибке пользователя (тот, указанный с system.out.println("Your error message")
).
Соответствующий код (во избежание проблем, перечисленных выше), который вы должны использовать, - это тот, у которого есть блок try (первый).
Для дальнейшего объяснения по поводу исключений в Java, я рекомендую посетить это: https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html
Спасибо, много! это, безусловно, помогает. Последний вопрос - в чем смысл слова «try» в коде? – user3161261
Я обновил свой ответ (проверьте часть редактирования) – KaStuxNetCu
То, что я обычно использую это BufferedReader и создать время цикл, как
while((line = reader.readLine()) != NULL) {
//do stuff
}
Не downvoter, но я думаю, вы могли бы улучшить это сообщение, чтобы сделать его более понятным и понятным для OP и других пользователей. –
- 1. Поиск строки в файле
- 2. поиск строки в файле
- 3. Поиск строки в файле
- 4. Поиск строки в файле htm
- 5. Поиск строки в txt-файле
- 6. C: поиск строки в файле
- 7. Поиск строки в txt-файле
- 8. поиск строки в текстовом файле
- 9. Поиск строки в файле HTML?
- 10. Поиск строки в файле [C]
- 11. Поиск строки в файле изображения
- 12. Поиск строки в нормальном файле
- 13. Поиск строки в файле XML
- 14. поиск часть строки в файле
- 15. Поиск строки в текстовом файле
- 16. Поиск заданной строки в файле
- 17. поиск строки в json-файле
- 18. Поиск шестнадцатеричной строки в файле в php?
- 19. Поиск части строки в файле в оболочке
- 20. Поиск строки в файле в Prolog
- 21. Поиск строки в файле в g ++
- 22. Поиск строки в текстовом файле в R
- 23. Поиск строки в текстовом файле в python
- 24. Как ускорить поиск строки в файле Excel
- 25. Performance - поиск строки в текстовом файле - Python
- 26. Python - Поиск строки в текстовом файле
- 27. поиск строки формата JSON в файле Java
- 28. Поиск строки в текстовом файле C
- 29. Пакет - поиск точной строки в файле
- 30. Python: поиск конкретной строки в файле
Зависит от того, как вы читаете в текстовом файле. – DigitalNinja
Используйте любой цикл: 'for (;;)', 'while (...)', 'do {...} while (...)'. Это можно сделать несколькими способами. –