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中文網其他相關文章!