io.Copy() 在 io.Reader 和 io 之间传输原始字节。作家。然而,它缺乏处理文件内漏洞位置的能力,这被认为是像 read(2) 这样的系统调用向用户隐藏的侧通道信息。
管理稀疏文件,您必须使用系统调用包并手动操作参数。 lseek(2) 中的 SEEK_HOLE 和 SEEK_DATA 值对于此过程至关重要。
以稀疏方式传输文件更加复杂。在 Linux 上,您可以尝试使用 Fallocate(2) 和 FALLOC_FL_PUNCH_HOLE | 来打孔。 FALLOC_FL_KEEP_SIZE。如果失败,请将归零块写入目标,以鼓励操作系统将它们转换为空洞。
以上是以下是问题格式英文标题的几种选择,抓住了文章的精髓: **简短而直接:** * **在 Go 中使用 io.Copy() 时如何保留稀疏文件?** * **能的详细内容。更多信息请关注PHP中文网其他相关文章!