简单的问题:我在matlab 7.x中打开一个文件,我想在读取之前测试它是否为空。最好的方法是什么?
答案 0 :(得分:9)
从previous question获取一些知识,我会做以下
s = dir('c:\somefile.txt');
if s.bytes == 0
% empty file
else
% open the file and read it
end;
我假设是空的,你的意思是文件中没有任何内容,包括换行符。如果为空,则表示只有新行字符,那么您应该继续使用解决方案。
答案 1 :(得分:0)
得到了它:
fid = fopen(fil);
if all(fgetl(fid) == -1)
% file is empty
else
fseek(fid,0,-1); % rewind it
end
答案 2 :(得分:0)
这是我能想到的最干净的方式:
if fseek(fileID, 1, 'bof') == -1
% empty file
else
rewind(fileID)
% ready to read
end