Why .DS_Store file come up when I read a folder using function in gui matlab?
31 views (last 30 days)
My folder in laptop (mac) only contain wav files. When I try to read folder using function in matlab gui, this .DS_Store file suddenly come up in the file directory (Listbox).
Anyone know why this happen and how to solve it?
Walter Roberson on 17 Aug 2020
Those files are created by the finder for any folder that you open in the finder window. They store information about the size and positions and attributes like label color, for each file in the directory.
You can delete the file and the only consequence is that the icon order or size might look different the next time you open the directory in the finder.
MATLAB has nothing to do with these files.
Notice that the file name begins with a period. There is a convention in Unix systems that any file or directory whose name begins with period will not appear by default when you use the system ls utility, and Mac extended that to those files and directories not showing up by default in the finder. You can, however, configure the finder to show them.
They show up in MATLAB because the system calls that request information about the directory return information about everything in the directory, and it is up to the code to filter the hidden ones out if appropriate for the code. There is no option in the system calls to automatically filter out the dot directories.
We can see that the code already filters out the . and .. directories that are included by the dir() call ; the code could be extended to filter dot files. It should probably be extended to only list sound files. Or possibly sound files and subdirectories so that the user can move between directories.