草庐IT

ReadWriteSeeker

全部标签

go - 从 io.ReadWriteSeeker 中删除字节(通过文件)

假设我有一个io.ReadWriteSeeker正在从某个文件中读取内容。在某些时候,我决定要从文件中删除一些字节(特别是末尾)并减少其长度。解决这个问题的正确方法是什么?我不能只通过搜索来覆盖它,因为我想以一个较短的文件结束。io.CopyN同样不起作用(因为src小于dest) 最佳答案 如果io.ReadWriteSeeker值也支持Truncate方法,例如*os.File值。例如,packagemainimport("fmt""io""io/ioutil""os")functruncate(rwsio.ReadWriteS

go - 从 io.ReadWriteSeeker 中删除字节(通过文件)

假设我有一个io.ReadWriteSeeker正在从某个文件中读取内容。在某些时候,我决定要从文件中删除一些字节(特别是末尾)并减少其长度。解决这个问题的正确方法是什么?我不能只通过搜索来覆盖它,因为我想以一个较短的文件结束。io.CopyN同样不起作用(因为src小于dest) 最佳答案 如果io.ReadWriteSeeker值也支持Truncate方法,例如*os.File值。例如,packagemainimport("fmt""io""io/ioutil""os")functruncate(rwsio.ReadWriteS

go - golang中io.ReadWriteSeeker的实现

在Golang中是否有io.ReadWriteSeeker的实现?因为bytes.Buffer没有实现Seek方法,我需要找到这样的实现来作为zipwriter写的缓冲区并在寻找中阅读。此外,我不会使用Reader(buff.Bytes())来隐藏内存副本,因为我无法为缓冲数据提供双倍的内存大小。此外,当使用os.File作为选项时,如果我不调用f.Sync,它永远不会触及文件系统,对吗?谢谢。我的简化代码:funcprocess(){buff:=new(bytes.Buffer)zipWriter:=zip.NewWriter(buff)//heretoadddataintozipW