StrF := TStringList.Create;
        StrF1 := TStringList.Create;
        try
          StrF.LoadFromFile('d:\log\' + FormatDateTime('yyyymmdd', Now()) + '.log');
          StrF1.LoadFromFile(FilePath + 'reply.txt');
          StrF.Add(FormatDateTime('yyyymmddhhmmss', Now()));
          StrF.Add('XX传出:' + StrF1.Text);
          StrF.Add('-------------   ');
          StrF.SaveToFile('d:\log\' + FormatDateTime('yyyymmdd', Now()) + '.log');
        finally
          StrF1.Free;
          StrF.Free;
        end;
上面的省略了,就是从另外一个不断下载增加的txt文件读取资料然后存到D盘的log里面,现在的问题就是结果这个log里面的文件很大有30M,里面的数据还有很多多余的数据,我要怎么改才能不读取那些多余重复的数据

解决方案 »

  1.   

    一行行判断,不是自己需要的数据过滤掉。
    也可考虑用StringReplace
      

  2.   

    用TFileStream来读取,然后判断换行。
      

  3.   

    如果文件很大,就不要一次性读取了,用内存映射,每次读取一部分,自己判断删除,处理完,在读取下一个部分CreateFile :打开文件GetFileSize : 获取文件尺寸CreateFileMapping :创建映射MapViewOfFile :映射文件
      

  4.   

    用notepad之类的打开这个文本文件,ctrl+h,正则替换