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)는 file-reader 객체 fr으로 나타내는 파일에서 데이터를 반환합니다. size에서 지정한 바이트 수에 따라 읽는 데이터 양이 결정됩니다.

A = read(fr,size,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 추가 파라미터를 지정합니다. 예를 들어, 'OutputType','char'를 지정하여 읽기 작업의 출력 유형을 char로 지정할 수 있습니다.

[A,count] = read(___)read 메서드로 실제로 읽은 데이터 바이트 수를 반환합니다.

입력 인수

모두 확장

File-reader 객체로, matlab.io.datastore.DsFileReader 객체로 지정됩니다. DsFileReader 객체를 만들려면 matlab.io.datastore.DsFileReader를 참조하십시오.

읽을 데이터의 크기로, 읽을 바이트 수를 나타내는 정수로 지정됩니다.

예: read(fr,20)

데이터형: double

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'OutputType','uint8'

출력 데이터형으로, 'OutputType'과 함께 'uint8', 'int8', 'int16', 'int32', 'int64', 'uint16', 'uint32', 'uint64', 'single', 'double', 'char' 값 중 하나를 포함하는 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

예: 'OutputType','uint8'

데이터형: char | string

크기 입력 해석 방식으로, 'SizeMethod'와 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'NumBytes' - size 입력 인수를 파일에서 읽을 바이트 수로 해석합니다.

  • 'OutputSize' - size 입력 인수를 읽기 메서드에서 출력 A의 크기로 해석합니다.

예: 'SizeMethod','OutputSize'

데이터형: char | string

출력 인수

모두 확장

출력 데이터로, 배열로 반환됩니다.

읽은 바이트 수로, 숫자형 스칼라 정수로 반환됩니다.

  • 'SizeMethod' 속성이 지정되지 않거나 'NumBytes'로 설정되면 count는 읽은 바이트 수입니다.

  • 'SizeMethod' 속성이 'OutputSize'로 지정되면 countsize(A)와 같습니다.

데이터형: double

예제

시작 위치 및 크기로 지정된 파일의 부분 읽기

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

airlinesmall.csv에 대한 DsFileReader 객체를 만듭니다.

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