Delphi中判断文件是否为文本文件的函数
发布时间:2016-12-28 来源:查字典编辑
摘要:在自己编写文本文件读取函数的时候,你首先会遇到的第一个问题就是:对于给定的一个文件名,怎么知道它所代表磁盘文件的确是文本文件?这里有一个很简...
在自己编写文本文件读取函数的时候,你首先会遇到的第一个问题就是:对于给定的一个文件名,怎么知道它所代表磁盘文件的确是文本文件?这里有一个很简单的方法:把给定的那个文件看作是无类型的二进制文件,然后顺序地读出这个文件的每一个字节,如果文件里有一个字节的值等于0,那么这个文件就不是文本文件;反之,如果这个文件中没有一个字节的值是0的话,就可以判定这个文件是文本文件了。这是原理,下面看看在Delphi中怎样编程来实现它--
复制代码 代码如下:
functionIsTextFile(FileName:string):boolean;
var
Fs:TFileStream;
i,size:integer;
IsTextFile:boolean;
ByteData:Byte;
begin
ifFileExists(FileName)then
begin
Fs:=TFileStream.Create(FileName,fmOpenRead);
IsTextFile:=true;
i:=0;
size:=Fs.Size;
While(i<size)andIsTextFiledo
begin
Fs.Read(ByteData,1);
IsTextFile:=ByteData<>0;
inc(i)
end;
Fs.Free;
Result:=IsTextFile
end
else
Result:=false
end;