我们可以使用一个Java组件,特别是一个HRFF =“HTTPS:/Octh.Oracle .COM/JavaS/7/DOCS/API/JavaX/SWIG/JFILSECELTER .HTML”Re=“NoeFrError”>代码> JFileChooser < /代码> ,并确保我们提供了<代码>文件和目录> <代码>选择标志> < /P>
选择实体:
jfc=javax.swing.jFileChooser(pwd);
jfc.setfileselection模式(jfc.files_和_目录);
返回值=jfc.showOpenDialog([]);
开关返回值
案例jfc.批准选项
fname=字符串(jfc.getSelectedFile());
case jfc.cancel_选项
%用“取消”做点什么
case jfc.error_选项
%做一些有错误的事情
否则
throw(mexception(“filefolderchooser:unsupportedResult”,……
“从jFileChooser返回的结果不受支持:”+ReturnVal+…
“。请查阅当前Java版本的文档(“+”…
String(Java.Lang.Stase.GETFACTS(“java.版本”))+“.])
结束
程序选择:
切换为true%<这只是一些避免if/elseif的技巧
案例ISfolder(fname)
%处理文件夹
案例ISfile(fname)
%用文件做点什么
否则
throw(meexception('filefolderChooser:invalidSelection',……
'选择无效,无法继续'));
结束
这将生成一个熟悉的对话框,如下所示,其工作方式与预期完全相同:

jfilechooser有各种有趣的设置,如multi selectionand,以及标准设置,如:http://ords.Oracle .com /javase/java/javax /Swing /jFielS选择器.html HTML StdidiActudioJava.Lang.Studio”Re= =“NoeFror”>更改对话框标题< /A>,按钮“http://DOCS.Oracle .COM/JavaSe/ 8 /DOCS/API/JavaX/Swing /JFielS选择器。E.字符串-“Re= = /Aj>”和“http://DOCS.Oracle .Oracle .com /JavaSe/ 8 /DOCS/API/JavaX/Swing /jFielS选择器.html Suff.ButoTooTypTeX.java. Lang.Studio”Re= =“NoeFror”>工具提示等,它也可以简单地用“HRFF=”http://DOCS.Oracle .COM/JavaSe/8/DOCS/API/Java作为“打开”对话框或“保存”对话框来使用。ExtJava.Lang.x/swing/jfilechooser.html setdialogtype int-“rel=”noreferrer“>设置值。
对R2018A进行测试,使用Java1.80Y144(输出代码< java. Lang.Stask.GETFACTS(“java.版本”)< />代码>
JFileChooser并确保我们向其提供FILES_AND_DIRECTORIES选择标志。
%% Select entity:
jFC = javax.swing.JFileChooser(pwd);
jFC.setFileSelectionMode(jFC.FILES_AND_DIRECTORIES);
returnVal = jFC.showOpenDialog([]);
switch returnVal
case jFC.APPROVE_OPTION
fName = string(jFC.getSelectedFile());
case jFC.CANCEL_OPTION
% do something with cancel
case jFC.ERROR_OPTION
% do something with error
otherwise
throw(MException("fileFolderChooser:unsupportedResult", ...
"Unsupported result returned from JFileChooser: " + returnVal + ...
". Please consult the documentation of the current Java version (" + ...
string(java.lang.System.getProperty("java.version")) + ")."));
end
%% Process selection:
switch true % < this is just some trick to avoid if/elseif
case isfolder(fName)
% Do something with folder
case isfile(fName)
% Do something with file
otherwise
throw(MException('fileFolderChooser:invalidSelection',...
'Invalid selection, cannot proceed!'));
end
这将生成一个熟悉的对话框,如下所示,其工作方式与预期完全相同:

文件选择器有各种有趣的设置,比如multi-selection和showing hidden files/folders以及标准设置,如changing the dialog title,按钮texts和tooltips等等。它也可以简单地用作“打开”对话框或“保存”对话框。setting a value.
在R2018A上用Java1.80Y144进行测试(输出java.lang.System.getProperty("java.version"))