如何判断一个文件为空?有哪些函数可以用?

解决方案 »

  1.   

    var
     MyFile: File of Byte;
    begin
     //如果文件存在
     if FileExists('d:\test.txt') then
     begin
      try
       //建立文件关联
       AssignFile(MyFile,'d:\test.txt');
       //打开文件
       Reset(MyFile);
       if FileSize(MyFile)=0 then
        Showmessage('it is empty')
       else Showmessage('it is not empty');
      finally
       //无论如何,关闭文件
       CloseFile(MyFile);
      end; //end of try
     end;  //end of if
    end;
      

  2.   

    你打开看看不就完了嘛,麻烦
    -------------
    var
      aFileStream:TFileStream;
      FileName:string;
    begin
      FileName:='F:\1.txt';
      if FileExists(FileName) then
        aFileStream:=TFileStream.Create(FileName,fmOpenRead);
      try
        if aFileStream.Size=0 then
          ShowMessage('文件为空');
      finally
        aFileStream.Free;
      end;
    end;
      

  3.   

    使用TFileStream,函数如下function GetFileSize(sFileName: string):integer;
    begin
      result := -1;
      if not FileExists(sFileName) then exit;
      with TFileStream.Create(sFileName, fmOpenRead) do begin
        try
          result := size;
        finally
          free;
        end;
      end;
    end;