previousblock

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

Синтаксис

Описание

пример

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

Примеры

свернуть все

Вернитесь к предыдущему блоку в заблокированном наборе файлов, чтобы получить информацию о блоках.

Создайте заблокированный набор файлов 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: {}

Получите информацию для первого блока и переместите внутренний указатель вперед на один блок.

blk1 = nextblock(bs)
blk1 = 
  1x1 BlockInfo
                                       Filename                                        FileSize    Offset    BlockSize
    _______________________________________________________________________________    ________    ______    _________

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

Получите информацию для второго блока и переместите внутренний указатель вперед на один блок.

blk2 = nextblock(bs)
blk2 = 
  1x1 BlockInfo
                                          Filename                                           FileSize     Offset    BlockSize 
    ____________________________________________________________________________________    __________    ______    __________

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

Снова получите информацию для второго блока и удалите внутренний указатель на второй блок.

prev = previousblock(bs)
prev = 
  1x1 BlockInfo
                                          Filename                                           FileSize     Offset    BlockSize 
    ____________________________________________________________________________________    __________    ______    __________

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

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

свернуть все

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

Пример: hasPreviousBlock(bs)

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

свернуть все

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

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

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

  • FileSize - Размер файла в байтах.

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

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

Совет

  • The previousblock метод возвращает ошибку, если из BlockedFileSet не были считаны блоки bs объекта. Чтобы избежать этой ошибки, можно использовать previousblock наряду с hasPreviousBlock и reset. The hasPreviousBlock метод проверяет, остаются ли блоки, ранее считанные с BlockedFileSet объект, в то время как reset метод сбрасывает внутренний указатель в начало BlockedFileSet объект.

Введенный в R2020a