我希望保存一个文件,但由于特殊要求,我需要分两次操作,才能保存这个文件。
我现在写的代码如下:
先定义全局 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无法正常显示。
请教各位老大。我第二次操作中这种追加存储的方式有什么问题?
我现在写的代码如下:
先定义全局 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次都是重新创建文件,之前的数据都没了,还能显示吗?