请问如何删除特定文件中指定偏移量后的指定长度数据
通俗点,也就是,如果从一个文件中删除指定位置指定长度的数据

解决方案 »

  1.   


    procedure DStreamData(FileName:String; StartPos,EndPos: Integer); 
    //StartPos: 从此开始“删除”信息,EndPos: 到此结束“删除”信息//如果输入文件名与输出文件名相同,就等于把源文件的StartPos与EndPos之间的内容删除varOri: TFileStream;Tmp: TMemoryStream;begintryOri := TFileStream.Create(FileName, fmOpenRead);Tmp := TMemoryStream.Create;Tmp.CopyFrom(Ori, StartPos);//Tmp从Ori拷贝数据,但在StartPos与EndPos之间不拷,因此形同删除了一段数据Ori.Seek(EndPos,soFromBeginning);Tmp.CopyFrom(Ori, Ori.Size-EndPos);Tmp.SaveToFile(FileName); //在此设置输出文件名finallyFreeAndNil(Ori);FreeAndNil(Tmp);end;end;
     Pascal 文件操作方式也行