我正在编写的一个工具负责在几个小时内下载数千个图像文件。最初,使用TIdHTTP
,我会将Get
文件放入 a TMemoryStream
,然后将其保存到文件中,只要没有例外。为了提高速度,我TMemoryStream
把TFileStream
.
但是,现在如果找不到资源,或者任何导致没有实际文件的异常,它仍然会保存一个空文件。
完全可以理解,因为我只是在下载之前创建了一个文件流......
FileStream:= TFileStream.Create(FileName, fmCreate);
try
Web.Get(AURL, FileStream);
finally
FileStream.Free;
end;
我知道如果出现异常,我可以简单地删除该文件。但这似乎太草率了。我确信有一种更合适的方法可以终止这种情况。
如果出现异常,我应该如何使它不保存文件,同时不改变性能(如果可能的话)?