十一、基本文件操作函数

1)文件创建函数

filemaker :把文件名与文件中函数名分开 。

filesep :文件目录分隔。

fileparts :把目标文件名拆分成字符串形式输出 。

tempdir :返回系统暂存地址名 。

tempname :返回系统暂存文件名 。

fullfile :创建文件名 

 

2)文件打开、读取、存储函数

open:打开文件 —用法:open('name')

load :将文件导入到MATLABworkspace中。loadfilename load filename X Y Z,

load-asciifilename ,load-mat filename,load('arg1', 'arg2', 'arg3', …)

save:存储文件.save filename, save filename content, savefilename options

     save('filename', 'var1', 'var2', …) 

daqread :读数据采集工具箱(.daq)中的文件 。

         [data, time, abstime, events, daqinfo]= daqread('filename')

uiimport :调用文件导入助手

 

3)简单文件输入输出函数

fopen :打开文件。

       fid = fopen(filename)

       fid = fopen(filename,permission)

Permission值

打开模式

‘r’

只读模式

‘w’

可写入模式,覆盖已有内容

‘a’

可写入模式,写入数据到文件末尾

‘r+’

可读写模式,

‘w+’

可写入模式,覆盖已有内容

‘a+’

可写入模式,写入数据到文件末尾

‘A’

无自动删除添加

‘W’

无自动删除写入

fclose  关闭文件。status=fclose(fid) ,status=fclose('all')

fprintf:以指定格式将数据写入文件 。count = fprintf(fid, format, A, …)

实例:

 

 
  1. x=1:0.1:2;

  2. y=[x,sin(x)];

  3. fid=fopen('sin.txt','wt');

  4. fprintf(fid,'%5.2f %5.6fn',y);

  5. fclose(fid)

 

fscanf :以指定格式读取文件中的内容 。A =fscanf(fid, format) , [A,count] = fscanf(fid, format, size)

fread :读取文件中的二进制数据 。A =fread(fid, count ,precision, skip, machineformat)

fwrite :将二进制数据写入到文件中 。

fseek :设置文件位置指针 。status = fseek(fid,offset, origin)

ftell :获取文件位置指针 。position = ftell(fid)

fwind :把文件位置指针移动到文件起始位置 。fwind(fid)

fgetl :按行读取文件内容,并删去换行符 。tline = fgetl(fid)

fgets :按行读取文件内容,并保留换行符 。tline = fgets(fid, nchar)

frewind :将文件指针移到文件的起始位置。 frewind(fid)

feof :测试是否为文件的末尾 。message = ferror(fid)

ferro :测试文件输入输出是否有错误 。message = ferror(fid,'clear') , [message,errnum] = ferror(…)

disp :将目标文件所包含的信息以不同形式显示,如文本、数组等形式。

 disp(obj)

 

4)电子表格操作函数

xlsfinfo :检测文件中是否包含Microsoft Excel电子表格文件 。

   typ = xlsfinfo(filename) [typ,desc, fmt] = xlsfinfo(filename)

xlsread :读Microsoft Excel电子表格文件中的内容 。

   num = xlsread(filename),num = xlsread(filename,sheet),num =xlsread(filename, range),num = xlsread(filename, sheet, range, 'basic')

[num,txt,raw,X]=xlsread(filename,sheet, range, 'basic') 

xlswrite :将数据写入Microsoft Excel电子表格文件中 。

    xlswrite(filename, M),xlswrite(filename, M, sheet, range),

    [status, message] = xlswrite(filename, …)

wk1finfo :检测文件中是否包含Lotus 1-2-3 WK1电子表格。

   [extens, typ] = wk1finfo(filename)  

wk1read :读取Lotus 1-2-3 WK1电子表格文件 。

    M = wk1read(filename) ,M = wk1read(filename,r,c,range)

wk1write :将数据写入Lotus1-2-3 WK1电子表格文件中 。

    wk1write(filename,M,r,c)