我有这样的代码:
myFolder='C:\Users\abe7rt\Desktop\dat\1';
filePattern=fullfile(myFolder, '*.txt');
txtFiles=dir(filePattern);
现在,dat 是一个包含“1,2,3”文件夹的文件夹,每个文件夹包含 20 个 TXT 文件。前面的代码能够从 1 个文件夹中获取 txt 文件。现在我的问题是:有没有办法遍历所有目录?
还有另一种可能性,使用 MATLAB 附带的 apache commons 库:
function fileNames = findAllFiles(directory, wildcardPattern)
import org.apache.commons.io.filefilter.*;
import org.apache.commons.io.FileUtils;
import java.io.File;
files = FileUtils.listFiles( File(directory),...
WildcardFileFilter(wildcardPattern),...
FileFilterUtils.trueFileFilter());
fileNames = cellfun(@(f) char(f.getCanonicalPath()),...
cell(files.toArray()),...
'uniformOutput', false);
end
使用例如作为:
files = findAllFiles('C:\Users\abe7rt\Desktop\dat', '*.txt')
如果您还想在搜索应该下降的目录名称上应用模式,您可以简单地将 FileFilterUtils.trueFileFilter()
替换为另一个 WildcardFileFilter
.
我是一名优秀的程序员,十分优秀!