zoukankan      html  css  js  c++  java
  • Delphi流的操作_文件合并

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        btn1: TButton;
        btn2: TButton;
        btn3: TButton;
        mmo1: TMemo;
        mmo2: TMemo;
        procedure btn1Click(Sender: TObject);
        procedure btn2Click(Sender: TObject);
        procedure btn3Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    //合并  use TFileStream
    procedure TForm1.btn1Click(Sender: TObject);
    var
      fs1,fs2:TFileStream;
    begin
      fs1:= TFileStream.Create('a.txt',fmOpenWrite); //
      fs2:= TFileStream.Create('b.txt',fmOpenRead); //必须为fmOpenRead,如果为fmOpenWrite则报错
      try
        fs1.Seek(0,soFromEnd);//将指针移到主文件的末尾
        fs1.CopyFrom(fs2,0);
      finally
        fs1.Free;
        fs2.free;
      end;
    
      mmo1.Lines.LoadFromFile('a.txt');
      mmo2.Lines.LoadFromFile('b.txt');
    end;
    
    //合并 use TMemoryStream
    procedure TForm1.btn3Click(Sender: TObject);
    var
      fs1:TFileStream;
      ms: TMemoryStream;
    begin
      fs1:= TFileStream.Create('a.txt',fmOpenWrite); //
      ms:= TMemoryStream.Create;
      try
        ms.LoadFromFile('b.txt');
        fs1.Seek(0,soFromEnd);//将指针移到主文件的末尾
        fs1.CopyFrom(ms,0);
      finally
        fs1.Free;
        ms.free;
      end;
    
      mmo1.Lines.LoadFromFile('a.txt');
      mmo2.Lines.LoadFromFile('b.txt');
    end;
    
    //分割
    procedure TForm1.btn2Click(Sender: TObject);
    var
      fs1,fs2:TFileStream;
      isize:integer;
      ms:TMemoryStream;
    begin
      fs1:= TFileStream.Create('a.txt',fmOpenRead); //
      fs2:= TFileStream.Create('b.txt',fmOpenRead); //必须为fmOpenRead,如果为fmOpenWrite则报错
      ms:= TMemoryStream.Create;
      try
        isize:= fs2.Size;
        //isize:=18;//18为 文件字节数
        fs1.Seek(-18,soFromEnd);//
        ms.CopyFrom(fs1,18);
        ms.SaveToFile('c.txt');
      finally
        fs1.Free;
        ms.free;
      end;
    end;
    
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      mmo1.Lines.LoadFromFile('a.txt');
      mmo2.Lines.LoadFromFile('b.txt');
    end;
    
    end.

    书搞进脑袋 创新 创造; 积极
  • 相关阅读:
    单向认证
    电商积分支付系统构建经验与总结
    python decimal.quantize()参数rounding的各参数解释与行为
    mysql 由decimal 引起的 Warning: Data truncated for column
    aliyun centos14.04 trusty 上安装docker1.12.1
    使用 py.test 对 python 代码进行测试
    mysql常用增删改查命令(纯纪录.orm用得基本功都没了。)
    python 协程库gevent学习--gevent数据结构及实战(四)
    http请求头中的content-type属性
    坚持做技术写作
  • 原文地址:https://www.cnblogs.com/tobetterlife/p/12169758.html
Copyright © 2011-2022 走看看