How to save the contents of an external file, located outside of MATLAB project path, in an internal MATLAB variable

5 views (last 30 days)
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
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:

Sign in to comment.

Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!