matlab中怎么获取文件路径,matlab获取文件路径和读写二进制文件

1.matlab中处理路径和文件名,主要用到2个函数。

[pathstr,name,ext,versn]=fileparts('filename');

fileparts函数返回文件路径各部分的信息,在返回的参数中,pathstr表示文件路径,name是主文件名,ext是扩展名(包括前面的点),versn是文件版本。

为了区分操作系统,还可以调用filesep函数返回文件路径的分隔符,windows系统中返回的是“\”,UNIX系统返回的是“/”。

f=fullfile('dir1','dir2',...,'filename');

fullfile函数得到完整的文件路径,前面的参数分别表示文件的路径,最后一个参数表示文件名称,可以用数组组合成一个完整的文件名。例如:filepath=fullfile(pathstr,[name

ext]);

2.打开和关闭文件

低级文件IO操作中,需要用fopen和fclose打开和关闭文件。

[fid,message]=fopen(filename,mode);

filename表示打开文件的名称;

mode表示打开方式,有以下几种:

'r'只读方式。

'w'只写方式,覆盖原来的内容。

'a'增补方式,在文件末尾增加数据。

'r+'读写文件。

'w+'若文件不存在则创建一个新文件,若存在则删除已有内容并进行读写操作。

'a+'读取和增补文件。

默认情况下,matlab选用二进制形式打开文件,在该形式下字符串不会被特殊处理。如果要用文本形式打开,则应在以上mode参数后面添加't'。例如'rt','rt+'等。

返回值中,fid为文件标识,是一个非负整数,matlab根据fid值来标识所有已打开的文件,然后才能对文件进行各种操作。如果得到fid值是-1,表示打开失败。

举例说明,[fid,message]=fopen('fget1.m','r+');用读写方式打开文件,若matlab设置的文件路径中没有该文件,会返回错误信息。当用只写方式'w'时则不会出现错误信息,因为如果没有搜索到该文件,系统会自动创建一个空白文件。

status=fclose(fid); %关闭标识为fid的文件

status=fclose('all');%关闭所有已打开文件

如果status=0表示关闭成功,否则status=-1。

这里要注意一点,如果要删除一个已打开的文件,也必须要先关闭它,不能直接用delete函数删除,否则系统会提示用户删除命令被拒绝。

3.处理二进制文件

常见的二进制文件有.m和.bat等,用fread和fwrite函数读取和写入二进制文件。例如,

[fid,message]=fopen('plot.m','r+');

data=fread(fid);

得到的data是一个数值数组,也就是说虽然打开的文件是代码文件,但是用fread读取到的却是数值。若要显示成字符,需添加下面一行代码。

disp(char(data'));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值