如何判断一个文件为文本型文件?

解决方案 »

  1.   

    TO: flyinwuhan(制怒·三思而后行)能否具体一点呢, 谢谢!
      

  2.   

    var
      fm : TFileStream;
      bt : byte;
      i,j  : integer;  fm := TFileStream.create( 'c:\1.xxx', fmOpenread);
      j:=0;
    for i:=1 to 512 do
    begin 
      fm.position := random( fm.size-1);
      fm.read( bt, sizeof(bt);
      if bt=0 then inc(j);
    end;if j>8 then  二进制文件 else 文本文件
      

  3.   

    应该是所有非可见字符,如果按上面的方法,对于全是Binary的浮点数据则可能得出错误的结果
    比如读入一段数据(如256个字符),然后统计可见字符的比例,再进行判断。
      

  4.   

    回复人: myy() ( ) 信誉:100  2005-03-30 08:23:00  得分: 0  
     
     
       二进制文件、文本文件没有绝对的界限,只能用程序去“猜”。
      
     --------------------------------------------
    同意.如果你知道某二进制文件特有的字串,倒是可以做得更精确一点
      

  5.   

    不可能判断的了,除非你认为只有ANSI编码的才算“文本文件”