当前位置 : 主页 > 编程语言 > delphi >

delphi – 从二进制文件中删除char

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想从二进制文件/文本文件中删除一个字符/字符串.如果我从文件中知道char / string的位置,我该如何删除它?我应该读取文件(BlockRead),删除char / string(使用Delete(source,startPos,endPos)然后将
我想从二进制文件/文本文件中删除一个字符/字符串.如果我从文件中知道char / string的位置,我该如何删除它?我应该读取文件(BlockRead),删除char / string(使用Delete(source,startPos,endPos)然后将(BlockWrite)写入新文件,或者我可以直接从指定文件中删除?

谢谢

您可以使用TFileStream.CopyFrom方法复制到不需要的字符串之前,先搜索它,然后再复制CopyFrom文件的其余部分. TFileStreams非常快.

像这样的东西(未经测试)

aInFile := TFileStream.Create(sInput, fmOpenRead);
try
  aOutFile := TFileStream.Create(sOutput, fmCreate);
  try
    aOutFile.CopyFrom(aInFile, Pos);
    aInFile.Seek(Skip);
    aOutFile.CopyFrom(aInFile, aInfile.Size - Pos - Skip);
  finally
    aOutFile.Free;
  end;
finally
  aInFile.Free;
end;
网友评论