|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
Павел Гужанов, А причем тут что возвращает? "Прочитать 100 символов в буфер" выше писал. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 14:32 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
Если предположить, что я считал посимвольно 100 символов и не нашел там конец строки, то мне надо перейти на следующую строку. А как это сделать? Переход в BufferedReader происходит при readLine(), а он вызывает ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 14:32 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
А \r и \n имеют вполне конкретные коды. Удивительно, да? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 14:33 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
Павел ГужановЕсли предположить, что я считал посимвольно 100 символов и не нашел там конец строки, то мне надо перейти на следующую строку. А как это сделать? Переход в BufferedReader происходит при readLine(), а он вызывает ошибкуда. Тогда читай по символьно до конца. Раз нельзя отбросить целиком невалидный файл. Парси его весь. Цифры сюда дать 10 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 14:35 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
PetroNotC SharpllemingЕсли имеется ввиду где в jre готовая реализация то такой нет если неошибаюсь, придется руки испачкать и написать самому.готового чего? Найти символ в гиговом файле? топикстартер спрашивает нет ли чтото вроде этого Код: java 1.
найти символ подразумевает его искать т.е писать код алгоритма поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 14:56 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
lleming, ОК ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 15:03 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
Всем спасибо за помощь. Сделал так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 15:34 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
Павел Гужанов, +1 Только лучше не доводить до райзе по памяти. Ну и цифры не дал. Жаль. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 16:14 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
Павел Гужанов Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Несколько мыслей. Предположительно. Файл который ты читаешь - не совсем текстовый. Потому-как сломать мозг хипу можно реально ооооочень длинными строками. По факту Java поддерживает индексацию символов до 2 млрд. Но беря во внимание что BufferedReader внутри использует StringBuffer который может делать реаллокации. А реаллокации требуют 2 * n памяти плюс хвостик на расширение. Тут возможны варианты что не хватило не памяти. А не хватило временной памяти которая нужна буферному ридеру для копирования староого символьного массива в новое место. Но это моё предположение. Я не изучал как работает этот ридер. Железное решение твоей проблемы - читать файл не построчно а посимвольно. И принимать решение на каждый символ. Формировать строки. С пониманием предметной области. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 18:01 |
|
BufferedReader, пропустить строку
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3.
Так обычно не делают. Ошибка OOM не предполагает ее оперативного решения. Она просто к сведению перед тем как исполнительная среда упадет. Обычно если это происходит то память не удалось освободить и нет ресурсов на ее решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2019, 18:21 |
|
|
start [/forum/topic.php?fid=59&msg=39833486&tid=2121220]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 280ms |
0 / 0 |