Main Content

matlab.io.datastore.DsFileReader クラス

名前空間: matlab.io.datastore

データストア内のファイルのファイルリーダー オブジェクト

説明

DsFileReader オブジェクトを使用すると、データストア内のファイルに低水準ファイル読み取りアクセスが可能になります。

構築

fr = matlab.io.datastore.DsFileReader(filename) は、filename で指定されたファイルへの読み取りアクセス用の DsFileReader オブジェクトを返します。

fr = matlab.io.datastore.DsFileReader(filename,'TextEncoding',encoding) は、ファイルに関連付けられた文字エンコード スキームを指定します。さらに、encoding を指定すると、DsFileReader オブジェクトの TextEncoding プロパティが設定されます。

入力引数

すべて展開する

ファイル拡張子を含むファイル名。文字ベクトルまたは string スカラーとして指定します。ファイルが現在のフォルダーにない場合、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'

 

DsFileReader オブジェクトの TextEncoding プロパティに、encoding で指定された値が格納されます。

例: 'Shift_JIS'

データ型: char | string

プロパティ

すべて展開する

ファイル名。文字ベクトルまたは string スカラーとして指定します。

例: fr.Name はファイル名を返します。

データ型: char | string

ファイルサイズ (バイト単位)。スカラー整数値として返されます。

例: fr.Size

データ型: double

ファイルに関連付けられた文字エンコード スキーム。標準の文字エンコード スキームの名前として指定します。TextEncoding プロパティの値を設定するには、入力引数 encoding の説明を参照してください。

例: 'TextEncoding','Shift_JIS'

ファイル内の位置ポインターの位置。整数として指定します。位置ポインターは 0 ベースの整数で、ファイルの先頭からのバイト数を追跡します。

ファイルに n バイトのデータがある場合、これらの n バイトは 0 から n-1 までの位置にあります。

seek メソッドを使用して Position プロパティを設定できます。read メソッドを呼び出すと、Position プロパティで示された位置からファイルの読み取りを開始します。ファイルを反復して読み取る場合、read メソッドは位置ポインターを自動的に更新します。後続の read メソッドの呼び出しでは、前回の読み取り操作の終了位置から読み取りを開始します。

データ型: double

メソッド

hasdata データが読み取り可能かどうかを判別
read ファイルからのバイトの読み取り
seek ファイル内の位置を探索する

開始位置とサイズが指定されたファイルの部分の読み取り

ファイルのファイルリーダー オブジェクトを作成し、目的の開始位置を探索して、ファイルの一部を読み取ります。

airlinesmall.csvDsFileReader オブジェクトを作成します。

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 で導入