永敢的心 發表於 2008-3-15 18:15:21

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

在自己编写文本文件读取函数的时候,你首先会遇到的第一个问题就是:对于给定的一个文件名,怎么知道它所代表磁盘文件的确是文本文件?这里有一个很简单的方法:把给定的那个文件看作是无类型的二进制文件,然后顺序地读出这个文件的每一个字节,如果文件里有一个字节的值等于0,那么这个文件就不是文本文件;反之,如果这个文件中没有一个字节的值是0的话,就可以判定这个文件是文本文件了。这是原理,下面看看在Delphi&nbsp;中怎样编程来实现它-- <BR><div class="codetitle"><span><U>复制代码</U></span> 代码如下:</div><div class="codebody" id="code6478"><BR>function&nbsp;IsTextFile(FileName:string):boolean;&nbsp; <BR>var&nbsp; <BR>Fs:TFileStream;&nbsp; <BR>i,size:integer;&nbsp; <BR>IsTextFile:boolean;&nbsp; <BR>ByteData:Byte;&nbsp; <BR>begin&nbsp; <BR>if&nbsp;FileExists(FileName)&nbsp;then&nbsp; <BR>begin&nbsp; <BR>&nbsp;&nbsp;Fs:=TFileStream.Create(FileName,fmOpenRead);&nbsp; <BR>&nbsp;&nbsp;IsTextFile:=true;&nbsp; <BR>&nbsp;&nbsp;i:=0;&nbsp; <BR>&nbsp;&nbsp;size:=Fs.Size;&nbsp; <BR>&nbsp;&nbsp;While&nbsp;(i&lt;size)&nbsp;and&nbsp;IsTextFile&nbsp;do&nbsp; <BR>&nbsp;&nbsp;begin&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;Fs.Read(ByteData,1);&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;IsTextFile:=ByteData&lt;&gt;0;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;inc(i)&nbsp; <BR>&nbsp;&nbsp;end;&nbsp; <BR>&nbsp;&nbsp;Fs.Free;&nbsp; <BR>&nbsp;&nbsp;Result:=IsTextFile&nbsp; <BR>end&nbsp; <BR>else&nbsp; <BR>&nbsp;&nbsp;Result:=false&nbsp; <BR>end;<BR></div>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>Delphi实现木马文件传输代码实例</li><li>Delphi用TActionList实现下载文件的方法</li><li>Delphi建立、读取、存贮INI文件的方法《一》</li><li>delphi建立、读取、存贮INI文件的方法《二》</li><li>delphi建立、读取、存贮INI文件的方法《三》</li><li>delphi制作wav文件的方法</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: Delphi中判断文件是否为文本文件的函数