Main Content

seek

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

找到文件中的位置

语法

numBytes = seek(fr,n)
numBytes = seek(fr,n,Name,Value)

说明

numBytes = seek(fr,n) 将文件位置指针从 fr 对象指定的文件中的当前位置继续向前移动 n 个字节。seek 返回位置指示符实际移动的字节数。

numBytes = seek(fr,n,Name,Value) 使用一个或多个名称-值对组参量指定其他参数。例如,您可以通过指定 'Origin','start-of-file' 来指定 seek 操作的起始位置。

输入参数

全部展开

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

字节数,指定为整数。seek 方法将文件位置指针从指定文件中的当前位置移动 n 个字节。如果 n 为负,则 seek 将文件中的位置指针向后移动。

示例: seek(fr,20)

数据类型: double

名称-值参数

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

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

示例: 'RespectTextEncoding',true

遵守字符界限,以逗号分隔的对组形式指定,该对组由 'RespectTextEncoding'truefalse 组成。

  • true - 遵守多字节字符的字符界限。

  • false - 不遵守多字节字符的字符界限。

示例: 'RespectTextEncoding',true

数据类型: logical

起始位置,以逗号分隔的对组形式指定,该对组由 'Origin' 和下列值之一组成。

  • 'currentposition' - 从文件中的当前位置指针处开始 seek 操作。

  • 'start-of-file' - 从位置零处开始 seek 操作。

  • 'end-of-file' - 从文件末尾开始 seek 操作。

示例: 'Origin','start-of-file'

数据类型: char | string

示例

找到文件中的位置并读取

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

airlinesmall.csv 创建 DsFileReader 对象。

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

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

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

读取前 1000 个字符。

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

版本历史记录

在 R2017b 中推出