Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
2 / 2 / 0
Регистрация: 18.09.2014
Сообщений: 107

Быстрый парсинг огромного txt файла (800 мб)

14.11.2015, 21:22. Показов 3975. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем нужно распарсить в массив Integer-ов огромный текстовый файл (800 мб), состоящий из 1 длинной строки, которая состоит из чисел от 1 до 100000000, разделенных пробелами. Стандартным BufferedReader получается ужасно долго. Даже не спрашивайте, зачем мне это надо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2015, 21:22
Ответы с готовыми решениями:

Парсинг огромного XML файла
Здравствуйте! Пытаюсь распарсить большой xml файл. Для этого загружаю его в память и на этом этапе возникают сложности. Для...

Парсинг строк из огромного текстового файла из конца в начало средствами VBA Excel быстро
Хочу поделиться опытом. Была поставлена задача с помощью VBA Excel читать строки из огромного (более 200Мб) текстового файла, причем из...

Парсинг txt файла
Добрый день! Просьба помочь в написании класс для парсинга тестового файла. Файл содержит строки с примерным содержанием: аааааа бббббб...

9
 Аватар для ne2win
206 / 206 / 71
Регистрация: 25.02.2014
Сообщений: 569
14.11.2015, 22:15
JaktensTid, вы файл получаете или сами заполняете? Во втором случае, можно использовать DataInput/DataOutput. Необходимо также выделить достаточно памяти jvm, чем больше чем лучше. Если используете ArrayList, сразу задавайте размер.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.11.2015, 23:00
JaktensTid, 800м читать в память в любом случае плохая идея. Используйте RandomAccessFile чтобы прочитать небольшой фрагмент, обрабатывайте его и затем читайте следующий.
0
5 / 5 / 1
Регистрация: 04.07.2014
Сообщений: 73
15.11.2015, 00:23
Если на компе хороший проц, используй многопоточность
0
2 / 2 / 0
Регистрация: 18.09.2014
Сообщений: 107
15.11.2015, 17:00  [ТС]
Всем спасибо. Использовал MappedByteBuffer. Весь метод, с чтением, парсингом и забитием в массив integer-ов занимает примерно 10 секунд.
0
алкокодер
 Аватар для UnsKneD
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
15.11.2015, 19:48
100000000 разве влезет в int?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
16.11.2015, 13:30
Цитата Сообщение от UnsKneD Посмотреть сообщение
100000000 разве влезет в int?
проверить самому ...ну или загуглить не судьба?
0
алкокодер
 Аватар для UnsKneD
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
16.11.2015, 23:17
Паблито, я прекрасно знаю что нет, вопрос должен натолкнуть тс на мысль.
0
2 / 2 / 0
Регистрация: 18.09.2014
Сообщений: 107
17.11.2015, 00:13  [ТС]
Ээээм. В смысле? У меня нормально влезает

Посчитайте сами... 4 байта на инт.
4х100_000_000 = 400_000_000
400_000_000 примерно = 381 мегабайт памяти.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
17.11.2015, 11:52
Цитата Сообщение от JaktensTid Посмотреть сообщение
400_000_000 примерно = 381 мегабайт памяти.
тут вопрос даже не в памяти, а в разрядности
100 миллионов влезает в int
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2015, 11:52
Помогаю со студенческими работами здесь

Парсинг TXT файла
Например в txt файле есть 3 строки: Login:Message Login2:Message2 Login3:Message3 Мне нужно получить массив каждой строки и...

Парсинг данных из txt файла
Доброго времени суток. В джава я новичок. Подскажите, в чем ошибка, никак не могу понять: public class Main { public static...

Парсинг Txt файла и запись в datagrid
Есть следующая строка в хтмл файле. Таких строк N штук. Помимо подобных строк сверху и снизу есть левый код. Нужно вытянуть инфу из этих...

Парсинг txt файла в массив(и позже в БД)
Здравствуйте, камрады! Возникла идея обработки данных (не смейтесь, дропа из одной браузерки), для подсчета повторений ну и операции с...

Парсинг внешнего txt файла в массив
День добрый, серьезно споткнулся на ерунде, надеюсь на помощь. Есть 2 сервера А и Б, на А скрипт генерирует в свою директорию txt файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru