Delphi中判断文件是否为文本文件的函数

 更新时间:2008年03月15日 18:15:21   作者:  
在用Delphi 编程处理文本文件的时候,如果要装载的文件比较大,你可能会想在文件装载过程中提供一个装载进度的提示--那么你就必需自己编写直接通过文件打开/读取函数来装载文件内容的函数。
在自己编写文本文件读取函数的时候,你首先会遇到的第一个问题就是:对于给定的一个文件名,怎么知道它所代表磁盘文件的确是文本文件?这里有一个很简单的方法:把给定的那个文件看作是无类型的二进制文件,然后顺序地读出这个文件的每一个字节,如果文件里有一个字节的值等于0,那么这个文件就不是文本文件;反之,如果这个文件中没有一个字节的值是0的话,就可以判定这个文件是文本文件了。这是原理,下面看看在Delphi 中怎样编程来实现它--
复制代码 代码如下:

function IsTextFile(FileName:string):boolean; 
var 
Fs:TFileStream; 
i,size:integer; 
IsTextFile:boolean; 
ByteData:Byte; 
begin 
if FileExists(FileName) then 
begin 
  Fs:=TFileStream.Create(FileName,fmOpenRead); 
  IsTextFile:=true; 
  i:=0; 
  size:=Fs.Size; 
  While (i<size) and IsTextFile do 
  begin 
    Fs.Read(ByteData,1); 
    IsTextFile:=ByteData<>0; 
    inc(i) 
  end; 
  Fs.Free; 
  Result:=IsTextFile 
end 
else 
  Result:=false 
end;

相关文章

最新评论