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) は、1 つ以上の名前と値のペアの引数を使用して追加のパラメーターを指定します。たとえば、'OutputType','char' を指定して、読み取り操作の出力型を char に指定できます。

[A,count] = read(___) は、read メソッドで実際に読み取られたデータのバイト数のカウントを返します。

入力引数

すべて展開する

ファイルリーダー オブジェクト。matlab.io.datastore.DsFileReader オブジェクトとして指定します。DsFileReader オブジェクトを作成する場合は、matlab.io.datastore.DsFileReader を参照してください。

読み取るデータ サイズ。読み取るバイト数を表す整数として指定します。

例: read(fr,20)

データ型: double

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'OutputType','uint8'

出力データ型。'OutputType' と次の値のいずれかを含む文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。'uint8''int8''int16''int32''int64''uint16''uint32''uint64''single''double'、または 'char'

例: 'OutputType','uint8'

データ型: char | string

サイズ入力の解釈。'SizeMethod' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'NumBytes' - 入力引数 size をファイルから読み取るバイト数として解釈。

  • 'OutputSize' - 入力引数 size を読み取りメソッドからの出力 A のサイズとして解釈。

例: 'SizeMethod','OutputSize'

データ型: char | string

出力引数

すべて展開する

出力データ。配列として返されます。

読み取ったバイト数。スカラー整数値として返されます。

  • 'SizeMethod' プロパティが指定されていない場合、または 'NumBytes' に設定されている場合、count は読み取ったバイト数です。

  • 'SizeMethod' プロパティが 'OutputSize' に設定されている場合、countsize(A) と等しくなります。

データ型: double

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

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

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

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

airlinesmall.csv ファイルの先頭には、変数名があります。変数名の行は、299 バイトでマークされた位置で終了します。変数名の行を無視するには、seek メソッドを使用して、読み取りポインターを開始位置に移動します。

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

hasdata メソッドを使用して、ファイルに読み取るデータがあるかどうかをチェックします。読み取りメソッドは、ファイルから 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 で導入