Development Environment |
Opening Files
Before reading or writing a text or binary file, you must open it with the fopen
command.
Specifying the Permission String
The permission
string specifies the kind of access to the file you require. Possible permission
strings include
Note
Systems such as Microsoft Windows that distinguish between text and binary files might require additional characters in the permission string, such as 'rb' to open a binary file for reading.
|
Using the Returned File Identifier (fid)
If successful, fopen
returns a a nonnegative integer, called a file identifier (fid
). You pass this value as an argument to the other I/O functions to access the open file. For example, this fopen
statement opens the data file named penny.dat
for reading:
If fopen
fails, for example if you try to open a file that does not exist, fopen
-1
to the file identifier.
ferror
can also provide information about errors.
Test the file identifier each time you open a file in your code. For example, this code loops until a readable filename is entered.
fid=0; while fid < 1 filename=input('Open file: ', 's'); [fid,message] = fopen(filename, 'r'); if fid == -1 disp(message) end end
Now assume that nofile.mat
does not exist but that goodfile.mat
does exist. On one system, the results are
Open file: nofile.mat Cannot open file. Existence? Permissions? Memory? . . . Open file: goodfile.mat
Opening Temporary Files and Directories
The tempdir
and tempname
commands assist in locating temporary data on your system.
Function |
Purpose |
|
Get temporary directory name. |
|
Get temporary filename. |
You can create temporary files. Some systems delete temporary files every time you reboot the system. On other systems, designating a file as temporary can mean only that the file is not backed up.
A function named tempdir
returns the name of the directory or folder that has been designated to hold temporary files on your system. For example, issuing tempdir
on a UNIX system returns the /tmp
directory.
MATLAB also provides a tempname
function that returns a filename in the temporary directory. The returned filename is a suitable destination for temporary data. For example, if you need to store some data in a temporary file, then you might issue the following command first.
Note
The filename that tempname generates is not guaranteed to be unique; however, it is likely to be so.
|
Using Low-Level File I/O Functions | Reading Binary Data |