Простой вопрос: я открываю файл в Matlab 7.x и хочу проверить, пуст ли он, прежде чем читать его. Как лучше всего это сделать?
Matlab quickie: проверьте, пуст ли текстовый файл
Ответы (3)
Взяв некоторые знания из этого предыдущий вопрося бы сделал следующее
s = dir('c:\somefile.txt');
if s.bytes == 0
% empty file
else
% open the file and read it
end;
Я предположил, что под пустым вы имели в виду, что в файле действительно нет ничего, включая символы новой строки. Если под пустым вы подразумеваете только символы новой строки, вам следует продолжить свое решение.
person
Justin Peel
schedule
26.02.2010
Я имел в виду пустой как ничто. Это то, что я искал, спасибо.
- person johndashen; 26.02.2010
@johndashen Рад, что смог помочь.
- person Justin Peel; 27.02.2010
понятно:
fid = fopen(fil);
if all(fgetl(fid) == -1)
% file is empty
else
fseek(fid,0,-1); % rewind it
end
person
johndashen
schedule
25.02.2010
Если это двоичный файл,
fgetl
может вести себя странно.
- person mtrw; 26.02.2010
Это самый чистый способ, о котором я могу думать:
if fseek(fileID, 1, 'bof') == -1
% empty file
else
rewind(fileID)
% ready to read
end
person
AVB
schedule
26.02.2010