How can i read files inside a folder?

22 views (last 30 days)
Hello ,
i have a folder that contains some .dat file . How can i open this folder and then read(for example) the first 4 .dat files ?
Any help would be valuable .
*i dont need to just diplay the files , i need the actual .dat files to be opened and then work with the data inside them .

Accepted Answer

Walter Roberson
Walter Roberson on 27 Jan 2022
foldername = 'SnowCoverJuly2000';
dinfo = dir( fullfile(foldername, '*.dat') );
dinfo(5:end) = []; %only want first 4
nfiles = length(dinfo);
for K = 1 : nfiles
thisfile = fullfile(dinfo(K).folder, dinfo(K).name);
open(thisfile);
end
You might have problems if you have not installed a third-party program that is registered as being able to open .dat files.
  3 Comments
Gn Gnk
Gn Gnk on 27 Jan 2022
Also i get this error : Reference to non-existent field 'folder'.
Gn Gnk
Gn Gnk on 27 Jan 2022
I figured it out .Because the .folder extension was added after 2016b release i had this problem. So i changed the code to:
foldername = 'SnowCoverJuly2000';
dinfo = dir( fullfile(foldername, '*.dat') );
dinfo(5:end) = []; %only want first 4
nfiles = length(dinfo);
for K = 1 : nfiles
thisfile = fullfile(foldername, dinfo(K).name);
open(thisfile);
end
and it worked perfectly. Thank your for your help.

Sign in to comment.

More Answers (1)

KSSV
KSSV on 27 Jan 2022
thepath = 'giveyourpathhere' ;
files = dir([thepath,filesep,'*.dat']) ; % get .dat files in the folder
N = length(files) ; % total dat files present in the folder
for i = 1:N
thisfile = fullfile(files(i).folder,files(i).name) ; % get each file
% load the file
% do what ever you want
end
  1 Comment
Gn Gnk
Gn Gnk on 27 Jan 2022
Thank you for your answer ,but it seems that there is not a files.fodler field .I get this error :
Reference to non-existent field 'folder'.

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!