怎么判断一个文件是不是文本类型文件?

对于给定的一个文件名,怎么知道它所代表磁盘文件的确是文本文件?这里有一个很简单的方法:把给定的那个文件看作是无类型的二进制文件,然后顺序地读出这个文件的每一个字节,如果文件里有一个字节的值等于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;

  

posted on 2006-06-01 16:43 【Xine】中文站 阅读(813) 评论(0)  编辑  收藏 所属分类: Delphi Kylix


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(8)

随笔分类(40)

随笔档案(40)

文章分类(33)

文章档案(34)

相册

BLOG 联盟

搜索

最新评论

阅读排行榜

评论排行榜