根据文件路径检测文件大小并检测是否正在被占用
生活随笔
收集整理的這篇文章主要介紹了
根据文件路径检测文件大小并检测是否正在被占用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
function CheckFileSize(sPath: string): Int64;
varFilePath: AnsiString;FStream:TFileStream;bOpen:Boolean;//判斷文件FileName是否正在被打開/使用function IsFileInUse(const FileName: string): boolean;varHFileRes: HFILE;beginif not FileExists(FileName) thenbeginResult := False;Exit;end;tryHFileRes := CreateFile(pchar(FileName), GENERIC_READ,0 {this is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);Result := (HFileRes = INVALID_HANDLE_VALUE);if not Result thenCloseHandle(HFileRes);exceptResult := true;end;end;
begintrytryIsFileInUse(sPath);if FileExists(sPath) thenbeginbOpen := false;while not bOpen dobegintryIsFileInUse(sPath);FStream := TFileStream.Create(sPath, fmOpenWrite);bOpen := true;except on E: Exception dobOpen := false;end;end;FStream.Position := FStream.Size;Result := FStream.Size;endelsebeginFStream := TFileStream.Create(sPath, fmCreate);Result := 0;end;excepton e: Exception dobeginResult := -2;end;end;finallyFreeAndNil(FStream);end;
end;
總結
以上是生活随笔為你收集整理的根据文件路径检测文件大小并检测是否正在被占用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 基础知识(一)
- 下一篇: HTML5 基础知识(二)