主要内容

hasNextBlock

确定分块文件集是否有其他分块

说明

如果在 bs 指定的 BlockedFileSet 对象中有另一个分块可供处理,则 tf = hasNextBlock(bs) 返回逻辑值 1 (true)。否则,将返回逻辑值 0 (false)。

示例

示例

全部折叠

检查分块文件集是否有其他分块可供处理,并以迭代方式读取数据。

为一组文件创建一个分块文件集 bs

folder = {'accidents.mat','airlineResults.mat','census.mat','earth.mat'}
folder = 1×4 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: Show BlockInfo for all 4 blocks
    AlternateFileSystemRoots: {}

使用 hasNextBlocknextblock 函数,一次读取一个分块的分块信息,同时分块仍保留在文件集中。

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

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

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

    "/tmp/Bdoc25a_2974004_1180181/tp8682171b/matlab-ex12893120/airlineResults.mat"    1.5042e+05      0       1.5042e+05

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

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

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

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

输入参数

全部折叠

分块文件集,指定为 matlab.io.datastore.BlockedFileSet 对象。要创建 BlockedFileSet 对象,请参阅 matlab.io.datastore.BlockedFileSet

示例: hasNextBlock(bs)

版本历史记录

在 R2020a 中推出