• Delphi中的操作二进制文件的两个重要函数


    对于通过Byte数组进行文件操作的,在FTP中经常会使用到,我也是在Delphi调用Web Service进行文件的上传和下载时找到这两个函数的,挺好用的,推荐给大家。(申明:非本人所写)

    1. 将Byte数组生成文件
    procedure ByteArrayToFile(const ByteArray : TByteDynArray; const FileName : string );
    var
     Count: integer;
     F: FIle of Byte;
     pTemp: Pointer;
    begin
     AssignFile( F, FileName );
     Rewrite(F);
     try
        Count := Length( ByteArray );
        pTemp := @ByteArray[0];
        BlockWrite(F, pTemp^, Count );
     finally
        CloseFile( F );
     end;
    end;
    2. 将文件生成Byte数组
    function FiIeToByteArray(const FileName:string ):TByteDynArray;
    const
      BLOCK_SIZE=1024;
    var
      BytesRead,BytesToWrite,Count:integer;
      F:File of Byte;
      pTemp:Pointer;
    begin
      AssignFile( F, FileName );
      Reset(F);
      try
        Count := FileSize( F );
        SetLength(Result, Count );
        pTemp := @Result[0];
        BytesRead := BLOCK_SIZE;
        while (BytesRead = BLOCK_SIZE ) do
        begin
           BytesToWrite := Min(Count, BLOCK_SIZE);
           BlockRead(F, pTemp^, BytesToWrite , BytesRead );
           pTemp := Pointer(LongInt(pTemp) BLOCK_SIZE);
           Count := Count-BytesRead;
        end;
      finally
         CloseFile( F );
      end;
    end;
  • 相关阅读:
    Fluent NHibernate之旅
    IOC之Unity
    使用AutoMapper实现Dto和Model之间自由转换
    javamail邮件发送
    webservice整合spring cxf
    spring 集成mongo配置
    mongodb安装 win7版
    freemarker之list和map
    servlet生命周期
    ArrayList和LinkedList和Vector源码分析
  • 原文地址:https://www.cnblogs.com/tc310/p/5142785.html
Copyright © 2020-2023  润新知