Почему fileysteminfo.refresh не обновляет временные метки после удаления файловC#

Место общения программистов C#
Ответить
Anonymous
 Почему fileysteminfo.refresh не обновляет временные метки после удаления файлов

Сообщение Anonymous »

Здесь есть несколько сообщений, объясняющих поведение кэширования файловых систем и полученный класс FileInfo, такой как этот. Но когда запускается следующий код, < /p>

Код: Выделить всё

static void Main(string[] args)
{
var appFolder = Path.GetDirectoryName(Environment.ProcessPath)!;
var path = Path.Combine(appFolder, "a.txt");

var fi = new FileInfo(path);

fi.Create().Close();
fi.Refresh();

PrintFileInfo(fi);

// Delete here OR using external file manager
fi.Delete();
fi.Refresh();
Console.WriteLine("File deleted" + Environment.NewLine);

PrintFileInfo(fi);
}

private static void PrintFileInfo(FileInfo fInfo)
{
Console.WriteLine($"Name: {fInfo.Name}");
Console.WriteLine($"File exists?: {fInfo.Exists}");
Console.WriteLine(fInfo.LastWriteTime.ToString());

Console.WriteLine();
}
Я бы ожидал после удаления файла и обновления () снова называется значение TastLwriteTime будет сброшен обратно в 1601 год, как если бы файл никогда не существовал в первую очередь. Однако он по -прежнему возвращает DateTime из созданного (и теперь удаленного) файла.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... e-deletion
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»