read a mat file once it appears in the folder?

2 views (last 30 days)
Is it possible that Matlab loads a file once it appears in the folder?
Say a person is sending me many mat files through dropbox. I want to handle each one immediately after it appears in the folder. I don't want to handle them after all files are there because it may take a very long waiting time.
Is there a way Matlab can recognize a new appeared file? Or any other thoughts can solve this problem?
Thank you very much.

Accepted Answer

Niels
Niels on 4 Feb 2015
One approach you could use is to write the filenames of all the current .mat files to e.g. a text document. You can import the contents of this text document, compare them with the actual folder contents, load the new files and then add those to the text document as well.
  2 Comments
Sandy
Sandy on 4 Feb 2015
That sounds brilliant. Just have an additional concern, if there is no new file at one time point, how can I tell matlab to wait and automatically load a new one when it appears. Do I have to set up a time interval and compare the document every few seconds?
Thank you again.
Niels
Niels on 5 Feb 2015
You could make a simple while-loop with no way to break out. Add a pause(...) at the end of every iteration and let it recheck afterwards.
It would look like this:
while(statement_that_will_always_be_true)
load text file
compare contents with .mat files in directory
if different
append text file with new .mat
do something with .mat file
end
close text file
pause 30 seconds
end

Sign in to comment.

More Answers (0)

Categories

Find more on Files and Folders 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!