我有一个使用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')
感谢您的帮助
答案 0 :(得分:1)
您可以做两件事:
仅显示带有uigetfile()
[fileName, dataDir] = uigetfile('*.ctm', 'Select a *.ctm file', yourDefaultPth);
验证所选文件的扩展名为.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
请记住,两者都不会验证文件的内容是否符合您的期望,如果有人手动修改文件的扩展名,程序很可能会崩溃。最好从头开始,但是如果您想进行更可靠的检查,则应该验证文件的内容正确,而不是扩展名。