delphi比较文本文件内容

Pie*_*Wyk 4 delphi compare file

我们需要比较两个(或更多)文本文件的内容,以确定是否需要创建备份.如果它们不同,我们会创建一个新备份.

我目前使用每个文件的CRC值来检查差异,但我想知道是否有更有效或更优雅的方法来检测文件之间的差异.

//Use madZIP to calculate the CRC fior this file
GetUncompressedFileInfo(Filename_1, Size_1, NewCRC);

//Use madZIP to calculate the CRC fior this file
GetUncompressedFileInfo(Filename_2, Size_2, OldCRC);

//if ThisFileHash = ExistingFileHash then
if (OldCRC <> NewCRC) then
  CreateABackup;
Run Code Online (Sandbox Code Playgroud)

问候,彼得.

klu*_*udg 7

CRC不是检测文件更改的安全方法 - 加密哈希(如MD5或SHA1)要好得多.

另一种方法(如构建系统使用的方法)是比较文件日期.如果文件比备份更新,则需要新备份.

  • CRC误报为+1,这可能是备份方案的问题.但文件日期可能会出现假阴性,因为我发现有时,使用NTFS,"FileAge"可能会返回一小时的更改,具体取决于夏令时... (3认同)