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

阚雷--闞靁 2012-04-17 01:52:13
我希望保存一个文件,但由于特殊要求,我需要分两次操作,才能保存这个文件。
我现在写的代码如下:
先定义全局 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无法正常显示。
请教各位老大。我第二次操作中这种追加存储的方式有什么问题?
...全文
362 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuang_bx 2012-04-18
  • 打赏
  • 举报
回复
writefs:=TFilestream.Create('D:\待删除\t2.jpg',fmCreate);
2次都是重新创建文件,之前的数据都没了,还能显示吗?
mhhaifeng 2012-04-17
  • 打赏
  • 举报
回复
jpg 是一种文件格式
你先确定 文件格式是怎么样的
你那样操作后 还能保持原先的文件格式吗?

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

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧