Main Content

nextblock

Information on next block in blocked file-set

Since R2020a

Description

blkInfo = nextblock(bs) returns the information on the next block in the BlockedFileSet object bs, then advances the internal pointer of the blocked file-set to the next block. Subsequent calls to the nextblock function continue reading from the endpoint of the previous call.

example

Examples

collapse all

Check if a blocked file-set has another block available to process and read the data iteratively.

Create a blocked file-set bs for a collection of files.

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

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

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

Use the hasNextBlock and nextblock functions to read block information one block at a time while blocks remain in the set.

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

    "/mathworks/devel/bat/filer/batfs2566-0/Bdoc24b.2725827/build/runnable/matlab/toolbox/matlab/demos/accidents.mat"      7343        0         7343   


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

    "/tmp/Bdoc24b_2725827_1770503/tpc95639c5/matlab-ex12893120/airlineResults.mat"    1.5042e+05      0       1.5042e+05


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

    "/mathworks/devel/bat/filer/batfs2566-0/Bdoc24b.2725827/build/runnable/matlab/toolbox/matlab/demos/census.mat"      353         0          353   


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

    "/mathworks/devel/bat/filer/batfs2566-0/Bdoc24b.2725827/build/runnable/matlab/toolbox/matlab/demos/earth.mat"     32522        0         32522  


Input Arguments

collapse all

Blocked file-set, specified as a matlab.io.datastore.BlockedFileSet object. To create a BlockedFileSet object, see matlab.io.datastore.BlockedFileSet.

Example: nextblock(bs)

Output Arguments

collapse all

This property is read-only.

Information about blocks in the BlockedFileSet object, returned as a BlockInfo object with the following properties:

  • Filename — Name of the file in the BlockedFileSet object. The name contains the full path of the file.

  • FileSize — Size of the file in number of bytes.

  • Offset — Starting offset within the file to be read.

  • BlockSize — Size of the block in number of bytes.

Tips

  • The nextblock function returns an error if no more blocks exist in the BlockedFileSet object. To avoid this error, use nextblock along with hasNextBlock and reset. The hasNextBlock function checks if blocks still remain in the blocked file-set, while the reset method resets the internal pointer to the beginning of the blocked file-set.

Version History

Introduced in R2020a