How do I read a file name into a function?

I have a folder full of .stl files containing sets of (x,y,z) co-ordinates of points in 3d. I have found a function, stlread, which reads these files, all I have to do is call the path of the file in ' ' quotation marks.
How do I choose this file from a directory and put it into stlread? If I use the MATLAB function filename=uigetfile, I can choose the file but if I use stlread(filename) it doesn't work even though filename is a string.
Eventually I wish to possibly have a list of paths to .stl files in a .txt file and then extract each one in turn to run stlread on all of them. Is this possible somehow?

댓글 수: 1

Sara
Sara 2014년 8월 4일
Look into dir(directory_name). This will give you the list of all the files in a specific directory. You can then run your code on all the stl files with a loop.

댓글을 달려면 로그인하십시오.

 채택된 답변

Dasharath Gulvady
Dasharath Gulvady 2014년 8월 4일
편집: Dasharath Gulvady 2014년 8월 4일

2 개 추천

In order to read all the files with file names matching a specific pattern, you can use "fullfile" function. The below sample code will read all the file names that end with ".stl" in a given directory :
filePattern = fullfile('./', '*.m');
files = dir(filePattern);
Here is the documentation page for dir .
Note that './' refers to the current directory and it can be changed to any other directory.
Note that "uigetfile" will let you select a file without navigating to the folder in which the file is present.
Now you can loop through "files" to get the filenames using the "name" field of the structure "files". A demo code is as follows:
for i=1:length(files)
filename = files(i);
filename.name
%stlread(filename); %you can try this out by uncommenting
end
Also, to read file names from a text file, you can use textread .
Also take a look at few other such functions here which may come be helpful.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Import and Analysis에 대해 자세히 알아보기

질문:

2014년 8월 4일

이동:

DGM
2025년 7월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by