How to save the contents of an external file, located outside of MATLAB project path, in an internal MATLAB variable
12 views (last 30 days)
Show older comments
Hi, I would like to save the contents of an external file in the variable data. So far, I have this code, and it works:
file = "1.txt";
ffile = fopen(file,"rt");
temp = textscan(ffile,"%s","delimiter","\n");
data = temp{1};
fclose(ffile);
However, the file 1.txt must be in the active MATLAB path. I would like to change the path to
I tried to change the first line to: file = "C:\path1\path2\1.txt", but I get the following errors.
Error using textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in readres (line 6)
temp = textscan(ffile,"%s","delimiter","\n");
Does someone have any suggestion on how to get this to work?
I thank you in advance,
3 Comments
Stephen23
on 27 May 2021
Edited: Stephen23
on 27 May 2021
Get a more informative error message by obtaining the second output of fopen:
P = 'C:\path1\path2';
F = '1.txt';
[fid,msg] = fopen(fullfile(P,F),'rt');
assert(fid>=3,msg)
% your file importing code
fclose(fid)
But in any case, it looks like you should be using readlines:
Answers (0)
See Also
Categories
Find more on Text Files 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!