怎么判斷一個(gè)文件是不是文本類型文件?
對(duì)于給定的一個(gè)文件名,怎么知道它所代表磁盤文件的確是文本文件?這里有一個(gè)很簡(jiǎn)單的方法:把給定的那個(gè)文件看作是無類型的二進(jìn)制文件,然后順序地讀出這個(gè)文件的每一個(gè)字節(jié),如果文件里有一個(gè)字節(jié)的值等于0,那么這個(gè)文件就不是文本文件;反之,如果這個(gè)文件中沒有一個(gè)字節(jié)的值是0的話,就可以判定這個(gè)文件是文本文件了。這是原理,下面看看在Delphi 中怎樣編程來實(shí)現(xiàn)它--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】中文站 閱讀(845) 評(píng)論(0) 編輯 收藏 所屬分類: Delphi Kylix