2014-01-16 29 views
0

我很有興趣知道當我用.NET覆蓋文件時會發生什麼。我使用C#.NET,這裏是覆蓋文件的例子:當我們寫一個現有的文件時發生了什麼?

byte[] data = //some data bytes; 
FileStream fs = new FileStream(path, FileMode.Create); 
fs.Write(data, 0, data.Length); 

假設變量path已經包含了一個名爲myfile.bin一些數據文件,我想通過寫這個文件,dat,我的問題是:

1)新數據要寫入的物理位置是什麼? (寫在新的位置或覆蓋早期數據所在的同一位置)

2)如果先前的數據被覆蓋在同一位置,是否可以恢復早期的數據?

+6

這個問題與C#無關。它是OS文件I/O問題,是底層OS API和文件系統的功能。 – OldProgrammer

回答

0

它可以寫在任何地方,絕對沒有gautantee它會在同一個位置。至於是否可以恢復先前被覆蓋的數據,完全取決於技術和執行恢復的個人/組織。至少,您不應該假設寫入磁盤的數據可以被恢復,而不是而不是

相關問題