主要内容

matlab.io.datastore.FileSet

在数据存储文件集的集合文件

描述

matlab.io.datastore.FileSet对象可以帮助您处理大量文件时通过反复的文件。使用文件集对象在一起DsFileReader从你的数据存储对象来管理和阅读文件。

创建

描述

例子

fs= matlab.io.datastore.FileSet (位置)创建一个文件集对象的集合文件根据指定的位置。

fs= matlab.io.datastore.FileSet (位置,名称,值)指定文件扩展名,是否包括子文件夹,或设置对象属性。您可以指定多个名称-值对。附上名称加上引号。

输入参数

全部展开

文件或文件夹中包含文件集对象,指定为一个特征向量,单元阵列的特征向量,字符串数组或结构。如果文件不在当前文件夹,然后位置必须是一个完整的或相对路径。子文件夹内文件不会自动包含在指定的文件夹文件集对象。

通常对于一个Hadoop®工作流,当您指定位置作为一个结构,它必须包含的字段文件名,抵消,大小。这个需求使您能够使用位置参数直接与initializeDatastore的方法matlab.io.datastore.HadoopLocationBased类。例如,看到的添加对H金宝appadoop的支持

您可以使用通配符(*)时指定位置。指定这个角色包括所有匹配的文件或文件组中的所有匹配的文件夹中的文件对象。

如果不是本地可用的文件,文件或文件夹的完整路径必须是一个统一资源定位符(URL),等
hdfs: / /主机名:portnumber/path_to_file

数据类型:字符|细胞|字符串|结构体

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:fs = matlab.io.datastore.FileSet(位置、“IncludeSubfolders”真的)

子文件夹包含标志,指定为一个数字或逻辑1(真正的)或0()。指定真正的包括每个文件夹内的所有文件和子文件夹只包括每个文件夹内的文件。

例子:“IncludeSubfolders”,真的

文件扩展名,指定为一个特征向量,单元阵列的特征向量,或字符串数组。您可以使用空引用代表文件没有扩展。

如果“FileExtensions”没有指定,那么BlockedFileSet自动包括所有的文件扩展名。

例子:“FileExtensions”、“jpg”

例子:FileExtensions, {' . txt ', ' . csv '}

属性

全部展开

替代的文件系统根路径,指定为字符串数组或单元阵列。使用“AlternateFileSystemRoots”当您创建一个数据存储在本地机器上,但需要在另一台机器上访问和处理数据(可能是不同的操作系统)。另外,当处理数据使用并行计算工具箱™和MATLAB®并行服务器™,数据存储在您的本地机器复制的数据在不同的平台上云或集群机器,您必须使用“AlternateFileSystemRoots”把根路径。

  • 把一组相当于一根路径,指定“AlternateFileSystemRoots”作为一个字符串数组。例如,

    [" Z: \数据集”、“/ mynetwork /数据集”)

  • 把多个根集数据存储路径是等价的,指定“AlternateFileSystemRoots”作为一个单元阵列包含多个行,每一行表示一组等价的根路径。指定单元阵列中的每一行作为一个字符串数组或单元阵列的特征向量。例如:

    • 指定“AlternateFileSystemRoots”作为一个字符串数组的单元阵列。

      {[Z: \“数据集”、“/ mynetwork /数据集”);…[" Y: \数据集”、“/ mynetwork2 /数据集”、“年代:\数据集”)}

    • 另外,指定“AlternateFileSystemRoots”作为一个单元阵列单元阵列的特征向量。

      {{“Z: \数据集”、“mynetwork /数据集”},…{“Y: \数据集”,“mynetwork2 /数据集”,年代:\数据集的}}

的价值“AlternateFileSystemRoots”必须满足以下条件:

  • 包含一个或多个行,每一行指定一组等价的根路径。

  • 每一行指定多个根路径和每个根路径必须包含至少两个字符。

  • 根路径都是独一无二的,没有子文件夹。

  • 包含至少一个根路径条目指向文件的位置。

有关更多信息,请参见为处理在不同的机器上或设置数据存储集群

例子:[" Z: \数据集”、“/ mynetwork /数据集”)

数据类型:字符串|细胞

这个属性是只读的。

文件数量的文件集对象,指定为数字标量。

例子:fs.NumFiles

数据类型:

这个属性是只读的。

文件读取的数量文件集对象,指定为一个数字标量。

例子:fs.NumFilesRead

数据类型:

这个属性是只读的。

有关文件的信息文件集对象,作为一个返回FileInfo对象与这些属性:

  • 文件名——文件的名称文件集对象。这个名字包含文件的完整路径。

  • 文件大小——文件的字节数的大小。

对于一个特定的文件信息,指定文件索引。例如,fs.FileInfo (2)返回第二个文件的文件名和文件大小。如果你叫fs.FileInfo不指定索引,它返回的所有文件的信息。

例子:fs.FileInfo (2)

对象的功能

hasNextFile 确定文件集的另一个文件在文件集
nextfile 下一个文件或文件块的信息
hasPreviousFile 确定一个文件集之前的文件
previousfile 以前的文件在文件集的信息
进步 确定有多少块或文件被读取
maxpartitions 最大数量的分区
分区 分区文件集对象
子集 创建数据存储或文件集的子集
重置 重置文件集对象

例子

全部折叠

创建一个文件集和查询信息的特定文件的文件集。

创建一个文件集f年代对文件的集合。

文件夹= {“accidents.mat”,“airlineResults.mat”,“census.mat”,“earth.mat”}
文件夹=1 x4单元格列1到3{事故。垫的}{airlineResults……'}{普查。垫的列4}{' earth.mat '}
fs = matlab.io.datastore.FileSet(文件夹)
fs =文件集的属性:NumFiles: 4 NumFilesRead: 0 FileInfo:显示所有文件4 FileInfo AlternateFileSystemRoots: {}

获取信息对特定文件使用nextfile函数或通过查询FileInfo财产和指定一个索引。连续获得信息文件使用nextfile。例如,获取信息中的前两个文件集。

file1 = nextfile (fs)
file1 = 1 x1 FileInfo文件名文件大小______________________________________________________________________________ ________ " / mathworks /猛击/棒/ Bdoc20b /构建/ matlab工具箱/ matlab /演示/事故。垫“7343
file2 = nextfile (fs)
file2 = 1 x1 FileInfo文件名文件大小___________________________________________________________________________________ __________”/ mathworks猛击/棒/ Bdoc20b /构建/ matlab工具箱/ matlab /演示/ airlineResults。垫“1.5042 e + 05

查询文件信息属性中的最后一个文件的信息集。

lastfile = fs.FileInfo (4)
lastfile = 1 x1 FileInfo文件名文件大小__________________________________________________________________________ ________ " / mathworks /猛击/棒/ Bdoc20b /构建/ matlab工具箱/ matlab /演示/地球。垫“32522
介绍了R2020a