参考:https://ww2.mathworks.cn/help/matlab/ref/uigetfile.html?searchHighlight=uigetfile&s_tid=doc_srchtitle

uigetfile

打开文件选择对话框

全页折叠
 

说明

file = uigetfile 打开一个模态对话框,其中列出了当前文件夹中的文件。用户可以在这里选择或输入文件的名称。如果文件存在并且有效,当用户点击打开时,uigetfile 将返回文件名。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将返回 0

当用户点击打开时,[file,path] = uigetfile 将返回文件的名称和路径。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将为两个输出参数都返回 0

示例

当用户点击打开时,[file,path,indx] = uigetfile 将返回在对话框中选择的筛选器的索引。

示例

___ = uigetfile(filter) 指定文件扩展名,根据该扩展名筛选对话框中显示的文件。可以将此语法与上述语法中的任何输出参数结合使用。

通常,只显示文件扩展名匹配的文件。在某些平台上,uigetfile 还会显示与筛选器不匹配的文件,但这些文件的文件名会灰显。如果筛选器缺失或为空,uigetfile 将使用默认文件类型列表(例如,所有 MATLAB 文件)。

示例

___ = uigetfile(filter,title) 指定对话框标题。要使用默认文件筛选器进行筛选,但指定自定义标题,请使用空引号作为筛选器值。例如:

file = uigetfile('','Select a File')

示例

___ = uigetfile(filter,title,defname)文件名字段指定默认文件名。

示例

___ = uigetfile(___,'MultiSelect',mode) 指定用户是否可以选择多个文件。将模式设置为 'on' 将允许进行多选。默认情况下设置为 'off'

Windows 库可以跨多个文件夹。

注意

对话框的可视特征取决于运行代码的操作系统。例如,某些操作系统不在对话框中显示标题栏。如果您向 uigetfile 函数传递对话框标题,这些操作系统不会显示标题。

 

示例

显示完整文件路径

显示在对话框中选择的文件的完整文件路径。使用 dispfullfile 函数添加说明性文本并串联 pathfile 输出值。

[file,path] = uigetfile('*.m');
if isequal(file,0)
disp('User selected Cancel');
else
disp(['User selected ', fullfile(path,file)]);
end

User selected H:\Documents\MyCode\surf.m

显示筛选器索引选择

在命令行窗口中显示选定筛选器的索引及相关的说明性文本。使用 num2str 函数将数值型筛选器索引值 (indx) 转换为字符数组。这样可使索引值成为 disp 函数的有效输入。

[file,path,indx] = uigetfile;
if isequal(file,0)
disp('User selected Cancel')
else
disp(['User selected ', fullfile(path, file),...
' and filter index: ', num2str(indx)])
end

User selected H:\Documents\MyCode\peaks.fig and filter index: 3

按扩展名筛选文件

通过指定 '*. m' 作为 filter 输入参数,在对话框中仅显示扩展名为 .m 的文件。

[file,path] = uigetfile('*.m');

指定筛选器列表和对话框标题

创建一个显示在文件筛选器下拉列表中的文件扩展名列表。以字符向量元胞数组的形式传递 filter 输入参数,并用分号分隔文件扩展名。

[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.*'},...
'File Selector');

指定筛选器和筛选器说明

通过以字符向量元胞数组的形式传递 filter 输入参数,创建一个文件扩展名列表并为扩展名提供说明。元胞数组的第一列包含文件扩展名,第二列包含文件类型的自定义说明。此示例还将多个文件类型与 'MATLAB Files''Models' 说明关联。

[file,path,indx] = uigetfile( ...
{'*.m;*.mlx;*.fig;*.mat;*.slx;*.mdl',...
'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)';
'*.m;*.mlx','Code files (*.m,*.mlx)'; ...
'*.fig','Figures (*.fig)'; ...
'*.mat','MAT-files (*.mat)'; ...
'*.mdl;*.slx','Models (*.slx, *.mdl)'; ...
'*.*', 'All Files (*.*)'}, ...
'Select a File');

指定默认文件名

要在对话框打开时在文件名字段中显示一个默认的文件名,请将此文件名作为 defname 输入参数进行传递。

 [file,path] = uigetfile('*.png',...
'Select an icon file','icon.png')

指定默认路径和文件

要在对话框打开时在文件名字段中显示默认路径下的默认文件名,请将完整文件名作为 defname 输入参数进行传递。

[file,path] = uigetfile('C:\Documents\Work\icon.png',...
'Select an Image File')

启用多选

'Multiselect' 选项设置为 'on' 可以启用多选。用户可以通过按住 ShiftCtrl 键并点击文件名来选择多个文件。

[file,path] = uigetfile('*.m',...
'Select One or More Files', ...
'MultiSelect', 'on');

输入参数

全部折叠

filter - 文件筛选器
字符向量 (默认) | 字符向量 | 字符向量元胞数组 | 字符串数组

文件筛选器,指定为字符向量、字符向量元胞数组或字符串数组。

  • 如果 filter 是文件名,该文件名将出现在文件名字段中。该文件的扩展名即为默认筛选器值。(筛选器字段没有标签,显示在文件名字段的右侧。)

  • filter 可以包含路径。该路径可以包含以下字符:

    • .

    • ..

    • \

    • /

    • ~

    例如,'../*.m' 列出位于当前文件夹上一级文件夹中具有 .m 扩展名的所有代码文件。

  • 如果您或用户在文件名中包含星号 (*) 或问号 (?),则点击打开时,uigetfile 不会响应。且对话框会一直保持打开状态,直到用户点击取消或删除名称中的通配符为止。此限制适用于所有平台,即使允许在文件名中使用这些字符的文件系统也受此限制。

  • 如果指定的路径不存在,uigetfile 将在当前文件夹中打开对话框。

  • 如果 filter 是文件夹名称,MATLAB 将显示该文件夹的内容。文件名字段为空,并且不应用任何筛选器。要指定文件夹名称,filter 的最后一个字符必须是反斜杠 (\) 或正斜杠 (/)。

  • 如果 filter 是字符向量元胞数组或字符串数组,则可以包含两列。第一列包含文件扩展名列表。可选的第二列包含相应的说明列表。这些说明替换筛选器字段中的标准说明。说明不能为空。

示例: 'myfile.m'

示例: '../myfile.m'

示例: '../..'

title - 对话框标题
'选择要打开的文件' (默认) | 字符向量

对话框标题,指定为字符向量。

示例: 'Select a File'

defname - “文件名”字段的默认值
' ' (默认) | 字符向量 | 字符串标量

文件名字段的默认值,指定为字符向量或字符串标量。defname 值可以指定路径,也可以指定路径加文件名。

  • 如果指定路径,则可以包含以下字符:

    • .

    • ..

    • \

    • /

    • ~

  • 要仅指定文件夹名称,请使用反斜杠 (\) 或正斜杠 (/) 作为 DefaultName 的最后一个字符。

示例: 'myfile.mat'

示例: 'C:\Documents\my_MATLAB_files'

示例: '..\myfile.mat'

示例: '..\Documents\'

mode - 多选模式
'off' (默认) | 'on'

多选模式,指定为 'on''off'。如果多选模式关闭,则用户只能选择一个文件。如果多选模式打开,则用户可以选择多个文件。如果用户选择多个文件,它们必须在同一个文件夹中;否则 MATLAB 将显示警告对话框。Microsoft Windows 库可以跨多个文件夹。

输出参数

全部折叠

file - 文件名
字符向量 | 字符向量元胞数组

用户在对话框中指定的文件名,以字符向量或字符向量元胞数组的形式返回。

'MultiSelect' 设置为 'on' 并且用户选择多个文件时,将返回一个字符向量元胞数组。每个数组元素都包含所选文件的名称。元胞数组中的文件名按照用户平台使用的顺序排序。如果用户选择多个文件,它们必须在同一个文件夹中,否则 MATLAB 将显示警告对话框。

如果用户点击取消按钮或窗口关闭按钮 (X),MATLAB 将返回文件值 0

path - 指定的文件的路径
字符向量

指定的一个或多个文件的路径,以字符向量形式返回。

如果用户点击取消按钮或窗口关闭按钮 (X),MATLAB 将返回文件值 0

indx - 选定的筛选器索引
整数

选定的筛选器索引,以整数形式返回。

筛选器是不带标签的对话框控件,显示在对话框中文件名字段的右侧。筛选器的索引值与筛选器下拉列表中所选择的项目相对应。第一行的索引为 1。

如果用户点击取消按钮或窗口关闭按钮 (X),MATLAB 将返回索引值 0

详细信息

全部折叠

模态对话框

模态对话框阻止用户在响应模态对话框之前与其他 MATLAB 窗口进行交互。

提示

  • 利用 uigetfile 返回的路径和文件名,可以使用 MATLAB 和 MATLAB 工具箱中的各种输入和输出函数打开、读取或分析文件。例如下面列出的函数:

    • 用于读取图像的 imread 函数。

    • 用于读取 Microsoft Excel 文件的 xlsread 函数。

    • 用于操作 MATLAB 代码文件的 openeditrun 函数。例如,下面的代码会创建一个对话框,从用户处获取 MATLAB 代码的文件名、根据返回的值生成完整的文件名,然后再运行用户指定的代码文件。

      [file,path] = uigetfile('*.m');
      selectedfile = fullfile(path,file);
      run(selectedfile);

替代功能

使用 dir 函数可以返回当前文件夹或指定文件夹中已筛选或未筛选的文件列表。dir 函数还可以返回文件属性。

另请参阅

uigetdir | uiopen | uiputfile

在 R2006a 之前推出

 
 

Matlab中的uigetfile用法的更多相关文章

  1. MATLAB中“fitgmdist”的用法及其GMM聚类算法

    MATLAB中“fitgmdist”的用法及其GMM聚类算法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 高斯混合模型的基本原理:聚类——GMM,MA ...

  2. MATLAB中冒号的用法

    MATLAB中冒号的用法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ matlab中冒号代表步长,用实例来说明 >> A=[1 2 3 ...

  3. MATLAB中冒号的用法解析

    MATLAB中冒号的用法解析 1.: 表示所有的意思. (1)如:a(1,:) 表示a的第1行,示例: 结果: 同样的如果a(2,:)表示a的第2行 (2)反过来,a(:,2) 表示a的第3列,示例: ...

  4. MATLAB中mean的用法

    https://blog.csdn.net/wangyang20170901/article/details/78745587 MATLAB中mean的用法 转载仙女阳 最后发布于2017-12-07 ...

  5. matlab中freqz的用法以及多项式的展开

    对于一个变量a,matlab中定义需要这样 syms a: 定义之后就可以写由变量组成的式子,比如 c=(1+a^-1)^5; 可以用expand(c) 就能把c展开成多项式,每一项的系数就可以看到. ...

  6. Matlab中struct的用法

    struct在matlab中是用来建立结构体数组的.通常有两种用法: s = struct('field1',{},'field2',{},...)  这是建立一个空的结构体,field1,field ...

  7. matlab中句柄@的用法

    @是Matlab中的句柄函数的标志符,即间接的函数调用方法. 1 句柄函数 主要有两种语法: handle = @functionname handle = @(arglist)anonymous_f ...

  8. matlab 中max函数用法

    Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的 ...

  9. 学习笔记3—matlab中load特殊用法

    1.在matlab中 ,infro.mat中存有很多子矩阵(比如:mean_FA.mat, mean_e1.mat和 mean_e2.mat),调出某一个矩阵时,命令行为:load([path,'\' ...

随机推荐

  1. day43:CSS样式相关

    目录 1.高度和宽度 2.字体相关 3.字体对齐 4.颜色设置 5.背景 6.边框 7.盒子模型 8.display属性 9.伪元素选择器 10.伪类选择器 11.浮动 12.文字装饰 13.相对定位 ...

  2. Unity插件介绍——Odin

    今天把玩了一款最近的热门插件——“Odin - Inspector and Serializer”,其功能强大到让人无语,简直是开发利器,屠龙宝刀!它的功能是扩展Inspector显示,它重写和增加了 ...

  3. cg语言学习&&阳春白雪GPU编程入门学习

    虽然所知甚少,但康大的<GPU编程与Cg编程之阳春白雪下里巴人>确实带我入了shader的门,在里面我第一次清晰地知道了“语义”的意思,非常感谢. 入门shader,我觉得可以先读3本书: ...

  4. DHCP和NAT

    DHCP(dynamic host configuration protocol)用于内网动态分配IP,是一种基于UDP的应用层协议. NAT(net address translation)用于内网 ...

  5. [MRCTF]Web WriteUp

    和武科大WUSTCTF同时打的一场比赛,最后因为精力放在武科大比赛上了,排名13  - -Web题目难度跨度过大,分不清层次,感觉Web题目分布不是很好,质量还是不错的 Ez_bypass 进入题目得 ...

  6. 转载:使用java获取某A股当天/上一交易日的交易基本信息

    整个程序是借用了新浪的对外股票接口http://hq.sinajs.cn/list=sh603696,如果把这个地址放到浏览器地址栏里,你将看到: var hq_str_sh603696=" ...

  7. MongoDB基础总结

    1.数据可基本操作 1. 创建数据库 use  databaseName 选择一个数据库,如果数据库不存在就自动创建一个数据库 只有向数据库中插入数据时,数据库才会被真实创建出来,而当数据库中没有数据 ...

  8. Ajax获取接口数据,url拼接参数跳转页面,js获取上一级页面参数给本页面

    1.Ajax获取接口数据 function demo(){ //假设请求参数 var requestBody = [{ "name":"zhang", &quo ...

  9. oracle之二表和表空间的关系

    表和表空间的关系 建一个使用缺省值的表空间SQL> create tablespace a datafile '/u01/data/urpdb/a01.dbf' size 10m; 利用orac ...

  10. Unit4:碎片

    基本使用 动态调用 碎片和活动 碎片周期