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) は、1 つ以上の名前と値のペアの引数を使用して、追加のパラメーターを指定します。たとえば、'Origin','start-of-file' を指定して、seek 処理の開始位置を指定できます。

入力引数

すべて展開する

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

バイト数。整数として指定します。seek メソッドは、指定されたファイル内の現在の位置からファイル位置指定子を n バイト分移動します。n が負の場合、seek はファイル位置指定子を後方に移動します。

例: seek(fr,20)

データ型: double

名前と値のペアの引数

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

例: 'RespectTextEncoding',true

文字の境界に従うかどうか。'RespectTextEncoding' とそれに続く true または false で構成されるコンマ区切りのペアとして指定します。

  • true - マルチバイト文字の境界に従う。

  • false - マルチバイト文字の境界に従わない。

例: 'RespectTextEncoding',true

データ型: logical

開始位置。'Origin' とそれに続く次のいずれかの値で構成されるコンマ区切りのペアとして指定します。

  • 'currentposition' - seek 処理をファイル内の現在の位置指定子から開始。

  • 'start-of-file' - seek 処理をゼロの位置から開始。

  • 'end-of-file' - seek 処理をファイルの末尾から開始。

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

データ型: char | string

ファイル内の位置を探索して読み取る

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

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