MATLAB文件的打开与关闭

文件读写之前应该打开文件,在使用结束之后应关闭该文件。

fopen 函数用于打开文件,其调用格式为:

fid = fopen(filename)
fid = fopen(filename, mode)
[fid, message] = fopen(filename, mode, machineformat)
fids = fopen('all')
[filename, mode, machineformat] = fopen(fid)

其中 fid 为调用文件时返回的文件句柄,文件打开后,可用文件句柄来代替该文件,打开方式表示所打开文件的种类及使用文件的权限。

文件打开方式如下表所示。

文件打开方式
文件打开方式 含义
'r' 打开文件进行读操作
'w' 删除已存在文件中的内容或生成一个新文件,打开进行写操作
'a' 打开一个已存在的文件或生成一个新文件,进行写操作,在文件末尾添加数据
'r+' 打开文件进行读和写操作(不生成新文件)
'w+' 删除已存在文件中的内容或生成一个新文件,打开进行读和写操作
'a+' 打开一个已存在的文件或生成一个新文件,进行读和写操作,在文件末尾添加数据
'W' 写数据但不自动覆盖
'A' 追加数据但不自动覆盖
当不指定文件的类型时,MATLAB 默认为二进制文件,当打开文本文件时,在文件打开方式后加上 't',例如 'rt'、'wt+' 等。

打开文件成功后,将会得到一个值为正整数的句柄。文件打开失败时,返回句柄值 -1,例如要打开文件 five.dat 并从中读取数据,命令为:

file=fopen('five.dat','r')

文件打开成功后,返回的文件句柄为非负整数,文件句柄可以为很多 I/O 函数输入变量。当文件打开失败时,除了返回句柄值 -1 外,还可以在 fopen 语句中增加一个输出变量来获得错误信息,但不是所有的系统都提供错误信息。ferror 函数也可提供一些错误信息。

读写文件完成后,用命令 fclose 来关闭文件。fclose 函数的调用格式为:
status = fclose(fid)    %关闭句柄为fid的文件
status = fclose('all')    %关闭所有文件
当文件关闭成功时,status 的值为 0;当关闭失败时,status 的值为 -1。

当关闭 MATLAB 时,在 MATLAB 中打开的所有文件都将关闭,但文件使用完后用 fclose 关闭,可以增加系统资源。