Main Content

read

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

从文件中读取字节

语法

A = read(fr,size)
A = read(fr,size,Name,Value)
[A,count] = read(___)

说明

A = read(fr,size) 从文件读取器对象 fr 表示的文件中返回数据。size 指定的字节数决定读取的数据量。

A = read(fr,size,Name,Value) 使用一个或多个名称-值对组参量指定其他参数。例如,您可以通过指定 'OutputType','char' 将读取操作的输出类型指定为 char

[A,count] = read(___) 返回 read 方法实际读取的数据字节数。

输入参数

全部展开

文件读取器对象,指定为一个 matlab.io.datastore.DsFileReader 对象。要创建 DsFileReader 对象,请参阅 matlab.io.datastore.DsFileReader

要读取的数据大小,指定为整数,表示要读取的字节数。

示例: read(fr,20)

数据类型: double

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'OutputType','uint8'

输出数据类型,以逗号分隔的对组形式指定,该对组由 'OutputType' 和一个包含下列值之一的字符向量或字符串标量组成:'uint8''int8''int16''int32''int64''uint16''uint32''uint64''single''double''char'

示例: 'OutputType','uint8'

数据类型: char | string

解释大小输入,以逗号分隔的对组形式指定,该对组由 'SizeMethod' 和下列值之一组成:

  • 'NumBytes' - 将 size 输入参量解释为要从文件中读取的字节数。

  • 'OutputSize' - 将 size 输入参量解释为 read 方法的输出 A 的大小。

示例: 'SizeMethod','OutputSize'

数据类型: char | string

输出参量

全部展开

输出数据,以数组形式返回。

读取的字节数,以数值整数标量的形式返回。

  • 如果 'SizeMethod' 属性未指定或设置为 'NumBytes',则 count 是读取的字节数。

  • 如果 'SizeMethod' 属性设置为 'OutputSize',则 count 等于 size(A)

数据类型: double

示例

读取由起始位置和字节数指定的文件部分

为文件创建一个文件读取器对象,找到所需的起始位置,然后读取文件的一部分。

airlinesmall.csv 创建 DsFileReader 对象。

fr = matlab.io.datastore.DsFileReader('airlinesmall.csv');

airlinesmall.csv 文件的开头为变量名称。变量名称行在 299 字节标记的位置结束。要跳过变量名称行,请使用 seek 方法将读取位置指针移动到起始位置。

seek(fr,299,'RespectTextEncoding',true);

使用 hasdata 方法检查文件是否有要读取的数据。read 方法从文件中读取 1000 个字节,并将它们解释为字符。

if hasdata(fr)
   [d,count] = read(fr,1000,'OutputType','char');
end

通过将 SizeMethod 参数设置为 OutputSize,从文件中读取足够多的字节以填充 1000 个字符。

if hasdata(fr)
    [d,count] = read(fr,1000,'SizeMethod','OutputSize',...
                                       'OutputType','char');
end

版本历史记录

在 R2017b 中推出