Считать файл *.bin большого размера

Работа с файлами и базами данных
Ответить
gordos182
interested
interested
Сообщения: 1
Зарегистрирован: 02 дек 2014, 20:38
Версия LabVIEW: 10
Контактная информация:

Считать файл *.bin большого размера

Сообщение gordos182 »

Товарищи, помогите пожалуйста. Работаю с частотным спектром. Пользуюсь блоком "Read 16 bit" для считывания 16 битных отсчетов из файла. Поступила задача обработать файл-записи размером более 100 Гб. Файл считываю циклически по 16384 отсчета. Впервые столкнулся с проблемой, что в блоке значение смещения от начала файла ограничено I-32, блок менять нельзя, а написать свой адекватный НЕ ПОЛУЧАЕТСЯ.... Работаю в 12 версии. Файл 16 бит на отсчет, формат записи-стерео, комплексные числа. Не смейтесь, но ничего хорошего у меня не получилось. Файл разбивать нельзя.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Считать файл *.bin большого размера

Сообщение Borjomy_1 »

Можно штатными средствами работы с файлами создавать рабочий файл, содержащий фрагмент большого файла и анализировать его теми средствами, что у вас есть. Когда этот фрагмент будет проанализирован, из большого файла забирается следующий фрагмент в рабочий файл. Размер рабочего файла может быть небольшим 1-100Мб. Что-то вроде кеша.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Считать файл *.bin большого размера

Сообщение Artem.spb »

gordos182 писал(а):. Работаю с частотным спектром. Пользуюсь блоком "Read 16 bit" для считывания 16 битных отсчетов из файла.
Что-то я не понял, что это за блок? в 10й такой не нашёл, по-моему в 12й такого тоже не было. или это не чтение файла, а какой-то доп пакет?
В функциях считывания обычно можно указать не только позицию относительно начала, но и позицию относительно текущей.
Кроме того после считывания очередного блока, "курсор" в файле стоит в его конце, т.е. в начале следующего. Если считывание последовательное, то никуда смещаться не требуется.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»