Main Content

matlab.io.datastore.FileWritable 类

命名空间: matlab.io.datastore

向数据存储添加文件写入支持

自 R2020a 起

描述

matlab.io.datastore.FileWritable 是抽象的 mixin 类,它通过添加对 writeall 方法的支持,向自定义数据存储添加文件写入支持。

要使用此 mixin 类,必须从 matlab.io.datastore.FileWritable 类和 matlab.io.Datastore 基类继承。将以下语法用作类定义文件中的前几行:

classdef MyDatastore < matlab.io.Datastore & ....
                       matlab.io.datastore.FileWritable
  ...
end
要向您的自定义数据存储添加文件写入支持,您必须满足以下要求:

  • 从附加 matlab.io.datastore.FileWritable 类继承。

  • 初始化属性 SupportedOutputFormatsDefaultOutputFormat

  • 如果数据存储将数据写入自定义格式,则实现 write 方法。

  • 如果数据存储没有 Files 属性,则实现 getFiles 方法。

  • 如果数据存储没有 Folders 属性,则实现 getFolders 方法。

  • 输出位置验证为字符串。如果您的数据存储需要进一步验证,您必须实现 validateOutputLocation 方法。

  • 如果数据存储用于每个文件需要多次读取的文件,则您必须实现方法 getCurrentFilenamecurrentFileIndexComparator

  • (可选)从另一个类 matlab.io.datastore.FoldersPropertyProvider 继承以添加对 Folders 属性的支持(以及因此对 writeallFolderLayout 名称-值对组的支持)。如果您这样做,则您可以在数据存储构造函数中使用 populateFoldersFromLocation 方法来填充 Folders 属性。

  • 要添加对 writeall'UseParallel' 选项的支持,您必须同时从 matlab.io.datastore.FileWritablematlab.io.datastore.Partitionable 中派生子类,并在该子类中实现支持语法 partition(ds,'Files',index)partition 方法。

matlab.io.datastore.FileWritable 类是一个 handle 类。

属性

全部展开

可写格式列表,以字符串向量形式返回。此属性列出可用于 writeall 的所有可能的输出格式。请参阅初始化自定义数据存储的属性,查看在子类中初始化此属性的示例。

属性:

GetAccess
public
SetAccess
public
Constant
true
Abstract
true

数据类型: string

默认输出格式,以字符串标量形式返回。当未指定输出格式时,此属性会给出与 writeall 结合使用的输出格式。请参阅初始化自定义数据存储的属性,查看在子类中初始化此属性的示例。

属性:

GetAccess
public
SetAccess
public
Constant
true
Abstract
true

数据类型: string

方法

全部展开

示例

全部折叠

如果您要创建自定义数据存储类,该类从 matlab.io.datastore.FileWritable 派生子类以添加文件写入功能,则您需要初始化子类中的属性 SupportedOutputFormatsDefaultOutputFormat

例如,Develop Custom Datastore for DICOM Data中的子类将这些属性初始化为:

properties (Constant)
  SupportedOutputFormats = ...
    [matlab.io.datastore.ImageDatastore.SupportedOutputFormats, "dcm"];
  DefaultOutputFormat = "dcm";
end

"dcm" 是一种也设置为默认格式的自定义格式,但数据存储还支持 ImageDatastore 的所有支持的输出格式。

版本历史记录

在 R2020a 中推出