What is the format to write to a file not in the MATLAB directory.
7 views (last 30 days)
I have macOS 12.14.2 Mohave using MATLAB Home.
What is the format to write to a file not in the MATLAB directory. I have a KINGSTON flash drive and I use
c=[1.1 2.2 3.3 4.4 5.5];
e=[15.5 16.6 17.7 18.8 19.9];
fid = fopen('\KINGSTON\test1.txt','w')
The file is not created on the KINGSTON drive. I get fid=3.
If I use fid = fopen('test1.txt','w') the file is created in the current folder. What am I doing wrong?
Ken Atwell on 3 Jan 2019
This is a great question. I don't have a flash drive handy to try this, but you might need to mount the flash drive to make it accessible from the file system and MATLAB. Here is a web page on how to do this:
That might be enough. However, there is also the further possibility that, to make this mount visibile to MATLAB, you might also need to launch MATLAB from the Terminal window created above. The command to do this from Terminal will be something like this:
open -a "/Applications/MATLAB R2018b.app/"
Hope this helps.
If all of this is too much hassle, the poor man's solution is to write your files to some place that is more readily accessible, and then later manaully move/copy those files to the flash drive using Finder.
More Answers (4)
Image Analyst on 30 Dec 2018
Edited: Image Analyst on 30 Dec 2018
I would use 'wt' and fullfile(). Try this, changing the drive letter to what it really is.
folder = 'E:\KINGSTON'; % Windows uses a drive letter.
fullFileName = fullfile(folder, 'test1.txt');
fid = fopen(fullFileName, 'wt')
fprintf(fid,'%6.2f %8.4f\n', c, e);
if exist(fullFileName, 'file')
message = sprintf('%s successfully created.\n', fullFileName);
message = sprintf('FAILED\n%s\nNOT created.\n', fullFileName);
By the way, did you look for a KINGSTON subfolder of your current folder rather than on the flash drive? It might have made it there.
Walter Roberson on 4 Jan 2019
Edited: Walter Roberson on 4 Jan 2019
Flash drives are not mounted at the root of the file system. You need to refer to /Volumes/KINGSTON/test1.txt
To check the mount point, at the MATLAB prompt (on Mac)
and look on the right hand side of the output to see the "mounted on" information.
Note: MacOS and OS-X mount under /Volumes . Linux tends to mount under /media