读书人

delphi中怎么用TFileStream追加存储文

发布时间: 2012-04-21 14:34:44 作者: rapoo

delphi中如何用TFileStream追加存储文件
我希望保存一个文件,但由于特殊要求,我需要分两次操作,才能保存这个文件。
我现在写的代码如下:
先定义全局 var readfs,writefs:TFilestream;
第一次操作:

Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);var Data: array [0..5000-1] of byte;begin readfs:=TFilestream.Create('D:\待删除\t1.jpg',fmOpenRead); writefs:=TFilestream.Create('D:\待删除\t2.jpg',fmCreate); readfs.Read(Data,5000); writefs.Write(Data,5000); FreeAndNil(readfs); FreeAndNil(writefs);end;

第二次操作:
Delphi(Pascal) code
procedure TForm1.Button2Click(Sender: TObject);var Data: array [0..30000-1] of byte;begin readfs:=TFilestream.Create('D:\待删除\t1.jpg',fmOpenRead); writefs:=TFilestream.Create('D:\待删除\t2.jpg',fmCreate); readfs.Seek(5000,soBeginning) ; writefs.Seek(5000,soBeginning) ; readfs.Read(Data,readfs.Size -5000); writefs.Write(Data,readfs.Size -5000); FreeAndNil(readfs); FreeAndNil(writefs);end;

我发现两次操作之后,所保存的结果t2.jpg无法正常显示。
请教各位老大。我第二次操作中这种追加存储的方式有什么问题?

[解决办法]
writefs:=TFilestream.Create('D:\待删除\t2.jpg',fmCreate);
2次都是重新创建文件,之前的数据都没了,还能显示吗?

读书人网 >.NET

热点推荐