Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

matlab.io.datastore.DsFileReader 类

包: matlab.io.datastore

数据存储中的文件的文件读取器对象

说明

DsFileReader 对象可以对数据存储中的文件进行低级文件读取访问。

构造

fr = matlab.io.datastore.DsFileReader(filename) 返回 DsFileReader 对象,用于对 filename 指定的文件进行读取访问。

fr = matlab.io.datastore.DsFileReader(filename,'TextEncoding',encoding) 指定与文件关联的字符编码方案。此外,指定 encoding 还会设置 DsFileReader 对象的 TextEncoding 属性。

输入参数

全部展开

文件名,包括文件扩展名,指定为字符向量或字符串标量。如果该文件不在当前文件夹中,则 filename 必须包含完整或相对路径。

文件名存储在 DsFileReader 对象的 Name 属性中。

示例: 'myFile.txt'

数据类型: char | string

与文件关联的字符编码方案,指定为下表中列出的标准字符编码方案的名称。

'Big5'

'ISO-8859-1'

'windows-847'

'Big5-HKSCS'

'ISO-8859-2'

'windows-949'

'CP949'

'ISO-8859-3'

'windows-1250'

'EUC-KR'

'ISO-8859-4'

'windows-1251'

'EUC-JP'

'ISO-8859-5'

'windows-1252'

'EUC-TW'

'ISO-8859-6'

'windows-1253'

'GB18030'

'ISO-8859-7'

'windows-1254'

'GB2312'

'ISO-8859-8'

'windows-1255'

'GBK'

'ISO-8859-9'

'windows-1256'

'IBM866'

'ISO-8859-11'

'windows-1257'

'KOI8-R'

'ISO-8859-13'

'windows-1258'

'KOI8-U'

'ISO-8859-15'

'US-ASCII'

 

'Macintosh'

'UTF-8'

 

'Shift_JIS'

 

encoding 中指定的值存储在 DsFileReader 对象的 TextEncoding 属性中。

示例: 'Shift_JIS'

数据类型: char | string

属性

全部展开

文件名,指定为字符向量或字符串标量。

示例: fr.Name 返回文件名。

数据类型: char | string

文件大小(以字节为单位),以数值整数标量的形式返回。

示例: fr.Size

数据类型: double

与文件关联的字符编码方案,指定为标准字符编码方案的名称。要为 TextEncoding 属性设置值,请参阅 encoding 输入参数的说明。

示例: 'TextEncoding','Shift_JIS'

位置指针在文件中的位置,指定为一个整数。位置指针是一个从 0 开始的整数,它记录从文件开头到当前位置的字节数。

如果一个文件有 n 个字节的数据,则这 n 个字节位于从 0n-1 的位置。

您可以使用 seek 方法设置 Position 属性。调用 read 方法将从 Position 属性指示的位置开始读取文件。当以迭代方式读取文件时,read 方法会自动更新位置指针。对 read 方法的后续调用将从上次读取操作结束的位置开始读取。

数据类型: double

方法

hasdata 确定是否有数据可读取
read 从文件中读取字节
seek 找到文件中的位置

示例

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

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

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 中推出