matlab - 遍历文件夹?

标签 matlab loops directory

我有这样的代码:

          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.

关于matlab - 遍历文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19024707/

相关文章:

matlab - 从 3D 矩阵变量切片时将 2D 矩阵展平为 1D 的最佳方法

python - 列表上的动态嵌套循环

android - 我应该在哪里放置选择器代码?

android - 如何访问android根目录

c - 只获取c/Ubuntu中某个目录下的文件

machine-learning - LS-SVM训练: Out of memory

matlab - 在 MATLAB 极坐标图上固定径向轴

Python - 迭代和更改列表的元素

linux - 在循环中选择 - 一直工作 - linux

algorithm - 离散优化算法