我需要检查Matlab工作文件夹中的wav文件是否存在。如果是这样,我需要将文件加载到变量(在我的情况下为文件),我使用此代码,但它不起作用。
if strcmp(file,'\n')==0
file='test.wav';
elseif findstr(file,'.')==''
file=strcat(file,'.wav');
end
[TestWave,Fs] = audioread(file);
答案 0 :(得分:0)
您没有说是否正在尝试查找特定的.WAV文件,或者只是找到任何.WAV文件......
如果您只想知道某个特定文件(任何类型)是否存在,请使用 exists()功能。如果文件退出,则返回值2:
myFileName = 'test.wav';
myDirectory = 'c:\temp';
filepath = fullfile(myFileName,myDirectory);
if exist(filepath,'file') == 2
[TestWave,Fs] = audioread(file);
end
否则,只需使用 dir():
搜索您需要的文件myDirectory = 'c:\temp';
wildcard = '*.wav';
theseFiles = dir(fullfile(myDirectory,wildcard));
for i = 1:length(theseFiles)
thisFilePath = fullfile(myDirectory,theseFiles(i).name);
[TestWave,Fs] = audioread(thisFilePath); % Load this file
% Do something with the loaded file...
end