Delphi,FileStream和MemoryStream
发布时间:2020-12-15 04:25:23 所属栏目:大数据 来源:网络整理
导读:我想将FileStream的一部分复制到内存流中. FileStream.Write(Pointer(MemoryStream)^,MemoryStream.Size);FileStream.Read(Pointer(MemoryStream)^,count); 是对的吗?这对我来说不行. 解决方法 你必须从FileStream读取()到一个单独的缓冲区,然后Write()到Me
我想将FileStream的一部分复制到内存流中.
FileStream.Write(Pointer(MemoryStream)^,MemoryStream.Size); FileStream.Read(Pointer(MemoryStream)^,count); 是对的吗?这对我来说不行. 解决方法
你必须从FileStream读取()到一个单独的缓冲区,然后Write()到MemoryStream,即:
var Buffer: PByte; GetMem(Buffer,NumberOfBytes); try FileStream.ReadBuffer(Buffer^,NumberOfBytes); MemoryStream.WriteBuffer(Buffer^,NumberOfBytes); finally FreeMem(Buffer); end; 由于您正在处理两个TStream对象,所以使用TStream.CopyFrom()方法会更容易,即: MemoryStream.CopyFrom(FileStream,NumberOfBytes); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |