uigetfile help (loading a file from different folder than mfile's)

Hi, I'd like to load my text file in to matlab using 'uigetfile' command. I can do that, but the problem is my text file must be in the same folder as my *.m file.
I'm writing the command something like below. And I'm getting an error at "Unable to open file." at the 'importdata' line (2nd command in my below code)
[STMFILE, PATHNAME] = uigetfile('*.TXT','PICK TEXT FILE');
[A] = importdata(STMFILE, '\t', 15);
Is there any way to load a file (eg:TXT) in to Matlab, which is not in the same folder/directory as my mfile?
Please help. Thanks

 Accepted Answer

Hi,
when you want to read from another folder, you will have to use the full path:
[stmfile, stmpath] = uigetfile('*.txt', 'pick text file');
A = importdata(fullfile(stmpath, stmfile), '\t', 15);
Titus

4 Comments

Thanks a lot Titus, that solved my problem :)
Hey there!! Well, I have the same problem as NDKA, and I'm using your suggestion and it still doesn't work for me... Here's my code:
[filename path] = uigetfile({'*.xlsx';'*.xls';'*.*'},'Get_Excel','File Selector'); file = dir(fullfile(path, filename));
Any help?? :) Thanks in advance!
Worked well and good. Thanks!!
@BSantos: choosing "path" as variable is more than dangerous, because path defines the MATLAB search path ...
Titus

Sign in to comment.

More Answers (2)

Did you read the help text of uigetfile already?
help uigetfile
Especially the examples should be helpful. In opposite to this, the doc uigetfile is more helpful for the inputs, but not for the usage of the outputs.
Or you can change to the data directory before importing your data:
eval(['cd ',stmpath]);
A=importdata(stmfile,'\t',15);

Categories

Find more on App Building 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!