Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Проблема поиска строки в тексте? |
Автор: unkis 11.9.2004, 18:08 | ||
Ребята есть текстовый файо в котором нужно найти определённую строчку(и) текста и вывести на кансоль. я зделал это так но работает медленно и не для любого текста. может посоветуете как это прееделать лучше и чтобы быстро работало.
Зарания благодарен. ![]() |
Автор: sergejzr 11.9.2004, 19:09 |
сдаётся мне, что тормозит из за f.readline(). Особенно для больших текстов наверное. Попробуй читать сразу большими массивами. К сож. нет примера под рукой... это делает функция read. ПС: Думаю ты и сам знаешь, но System.out тоже круто тормозит... Удачи! |
Автор: Domestic Cat 11.9.2004, 20:40 | ||
Вот этот вариант у меня работает в 2.5 раза быстрее чем твой ![]()
Заметь, чтo я вывожу сразу весь результат (Сергей прав), ну и нe создаю лиших Стрингов (а у тебя )их немеренно), а использую StringBuffer. |
Автор: unkis 12.9.2004, 18:17 | ||||
Ребята, почему когда я пытаюсь вставить эту комануду,
в этот код,
выдаёт ошибку. Я пытаюсь получить строчку, которая находится между началом поиска и между концом поиска. Ведь теперь мой текст находиться в s2 или ..., почему тогда программа не работает? И как мне это реализовать. ![]() Зарания благодарен. P.s: Извените за назойливость, наверное я вас достал с глупыми вопросами. |
Автор: sergejzr 13.9.2004, 01:01 | ||
Это том что я с read имел в виду ![]() ![]() |
Автор: unkis 13.9.2004, 13:16 |
Огомное всем спасибо я нашёл свою ошибку.![]() ![]() |
Автор: ElectricalStorm 13.9.2004, 14:43 | ||
попробуйте вариант ... не знаю будет ли быстрее ... ![]() подправлен на StringBuffer ![]()
|
Автор: sergejzr 13.9.2004, 14:52 | ||
Ну так поделись решением ![]() |
Автор: Domestic Cat 13.9.2004, 15:25 | ||
А что, действительно быстрее? ![]() |
Автор: unkis 13.9.2004, 17:02 | ||||||
Это я по поводу моего же вопроса нашёл решения.
я просто зднлпл так:
А потом просто выводил готовый результат. пример взял Domestic Cat хотя sergej.z кажется быстрея Ещё раз всем огромное спасибо. |
Автор: Domestic Cat 13.9.2004, 17:21 | ||
Сделал я профайлинг - работают оба примера одинаково (разница менее 1%) нa 100 кб файлe ![]() Быстрее будет использовать nio, как ElectricalStorm, хотяв его вариантe лучше присоединять стринги к буферу. |
Автор: sergejzr 13.9.2004, 17:36 | ||
Да, в принципе это более менее одно и тоже ![]() ![]() ![]() ![]() Вообще мне не понравилось, что ищет очень уж долго.... С такой задержкой я наверное бы с char array'ем попытался разбираться ![]() ОФФТОП Кстати подсветка на форуме тоже использует подобие буффера в яваскрипт ![]() /ОФФТОП |
Автор: Upir 15.9.2004, 13:24 | ||
На счет char array-я Если без разбора, что считывать можно и так:
вроде быстро выходит |