接受特定类型的文件Matlab

时间:2019-04-15 08:21:40

标签: matlab file

我有一个使用Browe按钮搜索文件的GUI:

function Browse(app, event)
     FileName,FilePath ]= uigetfile();
     ExPath = fullfile(FilePath, FileName);
     app.FileTextArea.Value = ExPath;  
end

然后我将文件路径保存在文本区域中。 我有另一个按钮,以文件路径作为参数来启动matlab脚本,因此,如果可能的话,我只想接受某种类型的文件(.ctm是我自己的文件类型):

if file is .ctm
    do something
else 
    print('a .ctm file is needed')

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以做两件事:

  1. 仅显示带有uigetfile()

    的具有特定扩展名的文件
    [fileName, dataDir] = uigetfile('*.ctm', 'Select a *.ctm file', yourDefaultPth);
    
  2. 验证所选文件的扩展名为.ctm

    [data.dir,data.fileName,data.ext] = fileparts(fullfile(dataDir, fileName)); % dataDir and fileName from pt. 1
    
    if strcmp(data.ext, '.ctm')
        % do something
    else 
        print('a .ctm file is needed')
    end
    

请记住,两者都不会验证文件的内容是否符合您的期望,如果有人手动修改文件的扩展名,程序很可能会崩溃。最好从头开始,但是如果您想进行更可靠的检查,则应该验证文件的内容正确,而不是扩展名。