2014-01-16 6 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 API и файловой системы. – OldProgrammer

ответ

0

Это может быть написано где угодно, и нет абсолютно никакой гаутой, что он будет находиться в том же месте. Что касается того, можно ли восстановить ранее перезаписанные данные, это полностью зависит от технологии и человека/организации, выполняющей восстановление. Как минимум, вы никогда не должны предполагать, что данные, записанные на диск, могут быть восстановлены не.

Смежные вопросы