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 작업의 시작 위치를 지정할 수 있습니다.

입력 인수

모두 확장

File-reader 객체로, 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'과 함께 true 또는 false가 쉼표로 구분되어 지정됩니다.

  • true - 멀티바이트 문자의 문자 경계를 준수합니다.

  • false - 멀티바이트 문자의 문자 경계를 준수하지 않습니다.

예: 'RespectTextEncoding',true

데이터형: logical

시작 위치로, 'Origin'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'currentposition' - 파일의 현재 위치 표시자에서 seek 연산을 시작합니다.

  • 'start-of-file' - 위치 0에서부터 seek 작업을 시작합니다.

  • 'end-of-file' - 파일의 끝에서부터 seek 작업을 시작합니다.

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

데이터형: char | string

예제

파일의 특정 위치로 탐색한 후 읽기

파일에 대한 file-reader 객체를 만들고 원하는 시작 위치를 찾아서 파일의 일부를 읽습니다.

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에 개발됨