delphi中如何用TFileStream追加存储文件


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

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;

第二次操作:

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无法正常显示。
请教各位老大。我第二次操作中这种追加存储的方式有什么问题?

2 个解决方案

#1


jpg 是一种文件格式
你先确定 文件格式是怎么样的 
你那样操作后  还能保持原先的文件格式吗?

文件格式无法识别  当然无法显示

#2


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

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号