РЕДАКТИРОВАТЬ: Связанное решение в Комментарий Стиви Гриффин намного лучше. Используйте это!
Простой подход состоит в том, чтобы перебрать все файлы, открыть их и проверить их содержимое. Предостережение: если у вас большие файлы, этот подход может потребовать много памяти.
Возможный код для этого может выглядеть так:
function ListFile
dirName = '';
files = dir(fullfile(dirName, '*.txt'));
files = {files.name};
fidEmpty = fopen(sprintf('output_empty_files.txt'), 'w+t');
fidNonempty = fopen(sprintf('output_nonempty_files.txt'), 'w+t');
for iFile = 1:numel(files)
content = fileread(files{iFile})
if (isempty(content))
fprintf(fidEmpty, '%s\n', files{iFile});
else
fprintf(fidNonempty, '%s\n', files{iFile});
end
end
fclose(fidEmpty);
fclose(fidNonempty);
У меня есть два непустых файла nonempty1.txt
и nonempty2.txt
, а также два пустых файла empty1.txt
и empty2.txt
. Запустив этот код, я получаю следующие выводы.
Отладка вывода из fileread
:
content =
content =
content = Test
content = Another test
Содержимое output_empty_files.txt
:
empty1.txt
empty2.txt
Содержимое output_nonempty_files.txt
:
nonempty1.txt
nonempty2.txt