2016-05-04 2 views
-2

Мне нужно проверить, существует ли wav-файл в рабочей папке Matlab ou not. Если это так, мне нужно загрузить файл в переменную (файл в моем случае), я использую этот код, но он не работает.Проверить файл wav в папке Matlab

 if strcmp(file,'\n')==0 
      file='test.wav';   
     elseif findstr(file,'.')=='' 
      file=strcat(file,'.wav'); 
     end 
     [TestWave,Fs] = audioread(file); 
+1

Где в этом коде вы думаете, что вы проверяете, если файл существует? – Suever

ответ

0

Вы не говорите, если вы пытаетесь найти конкретный файл .WAV, или просто любой файл .WAV ...

Если вы просто хотите знать, если конкретный файл (любой вид) есть, используйте есть() функция. Она возвращает значение 2, если файл выходов:

myFileName = 'test.wav'; 
myDirectory = 'c:\temp'; 
filepath = fullfile(myFileName,myDirectory); 
if exist(filepath,'file') == 2 
    [TestWave,Fs] = audioread(file); 
end 

В противном случае, просто для поиска файлов, которые нужно с помощью реж():

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 
Смежные вопросы