nextblock

Информация о следующем блоке в установленном на сблокированный файл

Синтаксис

Описание

пример

blkInfo = nextblock(bs) возвращает информацию о следующем блоке в BlockedFileSet объект bs, затем совершенствует внутренний указатель установленного на сблокированный файл со следующим блоком. Последующие вызовы nextblock функция продолжает читать из конечной точки предыдущего вызова.

Примеры

свернуть все

Проверяйте, имеет ли установленный на сблокированный файл другой блок в наличии, чтобы обработать и считать данные итеративно.

Создайте установленный на сблокированный файл bs для набора файлов.

folder = {'accidents.mat','airlineResults.mat','census.mat','earth.mat'}
folder = 1x4 cell
  Columns 1 through 3

    {'accidents.mat'}    {'airlineResults...'}    {'census.mat'}

  Column 4

    {'earth.mat'}

bs = matlab.io.datastore.BlockedFileSet(folder)
bs = 
  BlockedFileSet with properties:

                   NumBlocks: 4
               NumBlocksRead: 0
                   BlockSize: 'file'
                   BlockInfo: Show BlockInfo for all 4 blocks
    AlternateFileSystemRoots: {}

Используйте hasNextBlock и nextblock функции, чтобы считать информации блока один блок за один раз, в то время как блоки остаются в наборе.

while hasNextBlock(bs)
   file = nextblock(bs)
end
file = 
  1x1 BlockInfo
                                       Filename                                        FileSize    Offset    BlockSize
    _______________________________________________________________________________    ________    ______    _________

    "/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/matlab/demos/accidents.mat"      7343        0         7343   

file = 
  1x1 BlockInfo
                                          Filename                                           FileSize     Offset    BlockSize 
    ____________________________________________________________________________________    __________    ______    __________

    "/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/matlab/demos/airlineResults.mat"    1.5042e+05      0       1.5042e+05

file = 
  1x1 BlockInfo
                                      Filename                                      FileSize    Offset    BlockSize
    ____________________________________________________________________________    ________    ______    _________

    "/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/matlab/demos/census.mat"      353         0          353   

file = 
  1x1 BlockInfo
                                     Filename                                      FileSize    Offset    BlockSize
    ___________________________________________________________________________    ________    ______    _________

    "/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/matlab/demos/earth.mat"     32522        0         32522  

Входные параметры

свернуть все

Установленный на сблокированный файл в виде matlab.io.datastore.BlockedFileSet объект. Создать BlockedFileSet возразите, смотрите matlab.io.datastore.BlockedFileSet.

Пример: nextblock(bs)

Выходные аргументы

свернуть все

Это свойство доступно только для чтения.

Информация о блоках в BlockedFileSet объект, возвращенный как BlockInfo объект со следующими свойствами:

  • Filename — Имя файла в BlockedFileSet объект. Имя содержит полный путь файла.

  • FileSize — Размер файла в количестве байтов.

  • Offset — Запуск смещения в файле, который будет считан.

  • BlockSize — Размер блока в количестве байтов.

Советы

  • nextblock функция возвращает ошибку, если больше блоков не существует в BlockedFileSet объект. Чтобы избежать этой ошибки, используйте nextblock наряду с hasNextBlock и reset. hasNextBlock функционируйте проверки, если блоки все еще остаются в установленном на сблокированный файл, в то время как reset метод сбрасывает внутренний указатель на начало установленного на сблокированный файл.

Смотрите также

Введенный в R2020a