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.

    书搞进脑袋 创新 创造; 积极
  • 相关阅读:
    JAVA 8学习笔记-第五章
    JAVA 8学习笔记-第一章
    JAVA 8学习笔记-第二章
    MySQL应用
    Mac给iTerm2终端配色
    masOS支持NTFS读写,无需第三方软件
    macOS Apache配置用于支持Python CGI编程
    Vim
    Thrift
    Netflix Hystrix
  • 原文地址:https://www.cnblogs.com/tobetterlife/p/12169758.html
Copyright © 2011-2022 走看看