Main Content

nextblock

ブロック ファイルセット内の次のブロックに関する情報

R2020a 以降

説明

blkInfo = nextblock(bs) は、BlockedFileSet オブジェクト bs の次のブロックに関する情報を返してから、ブロック ファイルセットの内部のポインターを次のブロックに進めます。後続の関数 nextblock の呼び出しでは、前回の呼び出しの終点から読み取りが続行されます。

すべて折りたたむ

ブロック ファイルセットに、処理できる別のブロックがあるかどうかを確認し、データを繰り返し読み取ります。

ファイルの集合のブロック ファイルセット bs を作成します。

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: {}

関数 hasNextBlock および関数 nextblock を使用して、ブロックがセット内に残っている間に、一度に 1 つのブロック情報を読み取ります。

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

    "/mathworks/devel/bat/filer/batfs1904-0/Bdoc24a.2511836/build/matlab/toolbox/matlab/demos/accidents.mat"      7343        0         7343   


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

    "/tmp/Bdoc24a_2511836_3260591/tp6dd4bbae/matlab-ex12893120/airlineResults.mat"    1.5042e+05      0       1.5042e+05


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

    "/mathworks/devel/bat/filer/batfs1904-0/Bdoc24a.2511836/build/matlab/toolbox/matlab/demos/census.mat"      353         0          353   


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

    "/mathworks/devel/bat/filer/batfs1904-0/Bdoc24a.2511836/build/matlab/toolbox/matlab/demos/earth.mat"     32522        0         32522  


入力引数

すべて折りたたむ

ブロック ファイルセット。matlab.io.datastore.BlockedFileSet オブジェクトとして指定します。BlockedFileSet オブジェクトを作成する場合は、matlab.io.datastore.BlockedFileSet を参照してください。

例: nextblock(bs)

出力引数

すべて折りたたむ

この プロパティ は読み取り専用です。

BlockedFileSet オブジェクト内のブロックに関する情報。以下のプロパティを使用する BlockInfo オブジェクトとして返されます。

  • FilenameBlockedFileSet オブジェクト内のファイルの名前。名前にはファイルの絶対パスが含まれます。

  • FileSize — ファイルのサイズ (バイト数)。

  • Offset — 読み取るファイル内の開始オフセット。

  • BlockSize — ブロックのサイズ (バイト数)。

ヒント

  • 関数 nextblock は、BlockedFileSet オブジェクト内に他のブロックが存在しない場合、エラーを返します。このエラーを回避するには、nextblockhasNextBlock および reset と共に使用します。関数 hasNextBlock は、ブロック ファイルセット内にブロックが残っているかどうかを確認し、reset メソッドは内部のポインターをブロック ファイルセット内の先頭にリセットします。

バージョン履歴

R2020a で導入