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;

좋은 웹페이지 즐겨찾기