gpt4 book ai didi

delphi - 如何快速将文件内容清零?

转载 作者:行者123 更新时间:2023-12-03 14:57:20 26 4
gpt4 key购买 nike

我想终止用户从我的程序中选择的文件。我写了这个示例代码:

var
aFile: TFileStream;
Const
FileAddr: String = 'H:\Akon.mp3';
Buf: Byte = 0;
begin
if FileExists(FileAddr) then
begin
// Open given file in file stream & rewrite it
aFile:= TFileStream.Create(FileAddr, fmOpenReadWrite);
try
aFile.Seek(0, soFromBeginning);
while aFile.Position <> aFile.Size do
aFile.Write(Buf, 1);
finally
aFile.Free;
ShowMessage('Finish');
end;
end;
end;

如您所见,我用 0(空)值覆盖给定文件。这段代码工作正常,但在大文件中速度非常低。我想在多线程代码中执行此过程,但我尝试了一些测试一些代码但无法做到。例如,我创建了 4 个线程来执行此工作以加快此过程。

有什么办法可以加快这个过程吗?

最佳答案

我不知道它是否可以帮助您,但我认为您可以做得更好(比多线程)写入文件更大的缓冲区。
例如,您可以初始化一个 16k 宽的缓冲区并直接写入 FileStream;您只需检查文件的最后一部分,为此您只写入完整缓冲区的一部分。
相信我,它真的会更快...

关于delphi - 如何快速将文件内容清零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com