Main Content

maxpartitions

类: matlab.io.datastore.DsFileSet
命名空间: matlab.io.datastore

最大分区数

语法

N = maxpartitions(fs)

说明

N = maxpartitions(fs) 返回给定 DsFileSet 对象 fs 的最大分区数。

输入参数

全部展开

输入文件集,指定为 DsFileSetFileSetBlockedFileSet 对象。要创建 DsFileSet 对象,请参阅 matlab.io.datastore.DsFileSet。要创建 FileSet 对象,请参阅 matlab.io.datastore.FileSet。要创建 BlockedFileSet 对象,请参阅 matlab.io.datastore.BlockedFileSet

输出参量

全部展开

分区数,返回为整数。N 的值取决于 DsFileSet 对象的 FileSplitSize 属性。

  • 如果 FileSplitSize 中包含的是 'file',则 maxpartitionsN 设置为等于 fs 中的文件总数。

  • 如果 FileSplitSize 中包含的是数值,则 maxpartitions 将各个文件的文件大小的 ceil 之和 sum 除以 FileSplitSize,以此得出 N 的值。

示例

获取文件集对象的最大分区数

创建一个文件集对象,然后获取不同 FileSplitSize 属性值所对应的分区数。

为某个文件夹中的所有 .mat 文件创建一个文件集对象,然后检查文件数。

folder = fullfile(matlabroot,'toolbox','matlab','demos');  
fs = matlab.io.datastore.DsFileSet(folder,'FileExtensions','.mat');
fs.NumFiles
ans =

   40

DSFileSet 对象的 FileSplitSize 属性设置为 'file'。因此,maxpartitions 返回的值等于文件数。

maxpartitions(fs)
ans =

   40

FileSplitSize 属性设置为数值大小(2000 字节),然后计算 maxpartitions

fs = matlab.io.datastore.DsFileSet(folder,...
                                  'FileExtensions','.mat',...
                                  'FileSplitSize',2000);
n = maxpartitions(fs)
n =

       1752

版本历史记录

在 R2017b 中推出