主要内容

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类。示例请参见增加对Hadoop的支持

指定时可以使用通配符(*)位置。指定此字符将包括文件集对象中所有匹配文件或匹配文件夹中的所有文件。

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

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

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子: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”必须满足以下条件:

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

  • 每行指定多个根路径,每个根路径必须包含至少2个字符。

  • 根路径是唯一的,并且不是彼此的子文件夹。

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

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

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

数据类型:字符串|细胞

此属性是只读的。

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

例子:fs。NumFiles

数据类型:

此属性是只读的。

对象中读取的文件数文件集对象,指定为数值标量。

例子:fs。NumFilesRead

数据类型:

此属性是只读的。

文件中的文件信息matlab.io.datastore.FileSet对象返回matlab.io.datastore.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 /猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab /演示/事故。垫“7343
file2 = nextfile (fs)
file2 = 1 x1 FileInfo文件名文件大小  ___________________________________________________________________________________ __________ "/ mathworks /猛击/棒/ Bdoc22b /构建/ matlab工具箱/ matlab /演示/ airlineResults。垫“1.5042 e + 05

查询文件信息属性获取有关集合中最后一个文件的信息。

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

版本历史

介绍了R2020a

Baidu
map