matlab.io.datastore.DsFileReader - File-reader object for files in a datastore - MATLAB (original) (raw)
Namespace: matlab.io.datastore
File-reader object for files in a datastore
Description
The DsFileReader
object enables low-level file reading access for files in your datastore.
Construction
fr = matlab.io.datastore.DsFileReader([filename](#d126e434010))
returns a DsFileReader
object for read access to the file specified by filename
.
fr = matlab.io.datastore.DsFileReader([filename](#d126e434010),'TextEncoding',[encoding](#d126e434051))
specifies the character encoding scheme associated with the file. Additionally, specifying encoding
sets the TextEncoding
property of the DsFileReader
object.
Input Arguments
filename
— File name
character vector | string scalar
File name, including the file extension, specified as a character vector or a string scalar. If the file is not in the current folder,filename
must include a full or a relative path.
The Name
property of theDsFileReader
object stores the file name.
Example: 'myFile.txt'
Data Types: char
| string
encoding
— Character encoding scheme
'UTF-8'
(default) | 'ISO-8859-1'
| 'windows-1251'
| 'windows-1252'
| ...
Character encoding scheme associated with the file, specified as the name of a standard, character-encoding scheme listed in this table.
'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' |
The TextEncoding
property of theDsFileReader
object stores the value specified inencoding
.
Example: 'Shift_JIS'
Data Types: char
| string
Properties
Name
— File name
character vector | string scalar
File name, specified as a character vector or string scalar.
Example: fr.Name
returns the file name.
Data Types: char
| string
Size
— File size
numeric scalar
File size in bytes, returned as a numeric scalar integer.
Example: fr.Size
Data Types: double
TextEncoding
— Character encoding scheme
'UTF-8'
(default) | 'ISO-8859-1'
| 'windows-1251'
| 'windows-1252'
| ...
Character encoding scheme associated with the file, specified as the name of a standard, character-encoding scheme. To set the value for theTextEncoding
property, see the description of theencoding
input argument.
Example: 'TextEncoding','Shift_JIS'
Position
— Position pointer location
integer
Position pointer location in the file, specified as an integer. The position pointer is a zero-based integer that tracks the number of bytes from the beginning of the file.
If a file has n
bytes of data, then thosen
bytes are in positions 0
throughn-1
.
You can set the Position
property using the seek method. Calls to the read method begin reading the file from the location indicated by the Position
property. When reading a file iteratively, the read
method automatically updates the position pointer. Subsequent calls to the read
method begin reading from the end position of the previous read operation.
Data Types: double
Methods
hasdata | Determine if data is available to read |
---|---|
read | Read bytes from file |
seek | Seek to a position in the file |
Examples
Read File Portion Specified by Starting Position and Size
Create a file-reader object for a file, seek to the desired starting position, and read a portion of the file.
Create a DsFileReader
object forairlinesmall.csv
.
fr = matlab.io.datastore.DsFileReader('airlinesmall.csv');
The airlinesmall.csv
file has variable names at the beginning of the file. The variable names line ends at the position marked by299
bytes. To get past the variable names line, use theseek
method to move the read pointer to the starting position.
seek(fr,299,'RespectTextEncoding',true);
Read the first 1000
characters.
if hasdata(fr) d = read(fr,1000,'SizeMethod','OutputSize','OutputType','char'); end
Version History
Introduced in R2017b