首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在覆盖现有文件之前,如何使用TFileStream来截断它?

在覆盖现有文件之前,如何使用TFileStream来截断它?
EN

Stack Overflow用户
提问于 2016-02-28 17:12:34
回答 1查看 667关注 0票数 1

我正在使用下面的代码来写入一个现有的文件,但是内容会被追加。需要哪些TFileStream选项来清空文件并覆盖它?

代码语言:javascript
复制
procedure TUtilitiesForm.btnSaveClick(Sender: TObject);
var fs: TFileStream;
begin
  fs := TFileStream.Create(FileNameEdit1.Text, fmOpenWrite);
  fs.Seek(0,fsFromEnd);
  mmoDDL.Lines.SaveToStream(fs);
  fs.Free;
end;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-28 17:33:18

使用fsFromEnd,您可以将数据追加到现有文件结束之后,另一方面,fsFromBeginning从一开始就开始,但不会截断该文件。

fmOpenWrite更改为fmCreate

代码语言:javascript
复制
procedure TUtilitiesForm.btnSaveClick(Sender: TObject);
var fs: TFileStream;
begin
  fs := TFileStream.Create(FileNameEdit1.Text, fmCreate);
  try
    mmoDDL.Lines.SaveToStream(fs);
  finally
    FreeAndNil(fs);
  end;
end;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35685621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档