2013-11-04 15 views
0

我想要插入到大文件中,但我不想複製插入點後面的部分。有沒有辦法做到這一點(當然受到文件系統的限制)?我正在考慮文件系統通常以塊爲單位組織起來&在2個塊之間插入一個完整塊應該便宜。有誰知道是否以及如何在win32系統上完成這項工作?是否可以在不復制文件末尾的情況下插入到文件中

+0

是的,它是重複的。謝謝 - 我沒有找到它。 –

+0

當你寫下你的問題時,它被呈現給你,作爲可能重複的長列表的一部分。請在將來多加小心。 –

+0

是的,但它的標題錯過了重要的部分 - 沒有複製。它的標題也沒有提到該文件很大。一般來說,我知道如何使用win32 api插入文件。 –

回答

0

簡單的答案是否定的。操作系統不支持這個功能,對於Windows或Unix使用的文件系統, 難以看到它們的功能。確實,物理上,文件 本身被分割成分配塊,但這些塊的大小因驅動器而異,更不用說從文件系統到文件系統 (並且通常會有幾個不同的文件系統 安裝),以及一個功能, 允許你插入的效用,但ň字節唯一的倍數,在 一個位置,這本身就是ñ字節的multple,大概 似乎太有限效用是值得的。並且支持 它仍然需要複製,因爲包含指向這些塊的 指令的塊將不得不被複制。

-1

您可以截斷,附加新數據,追加剩餘的舊數據。

+0

您仍然必須先閱讀最後的舊數據。如果程序在截斷後立即終止,結果將不令人愉快。 –

+0

@JamesKanze:無論你做什麼,你都可以打破它。在硬盤緩存被清空的情況下拉動電源,讓我知道會發生什麼 –

+0

通常的技術總會在某個地方保持一致的狀態。在目標成功寫入之前,不要刪除或修改源。 –

相關問題