Предполагая, что я хочу перезаписать файл с большим содержимым. Что получат остальные, если во время перезаписи будут извлекать содержимое файла? Первый контент? Ничего?
А если не буду? Что получат остальные, если во время перезаписи будут извлекать содержимое файла?
Возможно, они получат частичный файл.
Это зависит от слишком многих факторов. ОС, файловая система, как другие приложения открывают файл и т. д.
@PatrickMevzek, можешь привести примеры поведения?
В общем: ожидал неожиданного. Поэтому, если вам нужны определенные гарантии, например, атомарность всего контента, вы должны явно кодировать их, используя блокировки (в значительной степени в зависимости от ОС и файловых систем) или параллельное копирование (что должно работать везде, но создает условия гонки).
Эта недавняя ссылка, которую я только что получил, подробно обсуждает вашу проблему и ее широкую сложность: danluu.com/deconstruct-файлы






Ничего наверное. Я лично решу эту ситуацию с помощью метода как такового:
Процесс переименования будет практически без задержки, но если вы хотите быть в безопасности, возможно, вы можете сделать так, чтобы программа просмотра обновила страницу один раз, если старый файл отсутствует.
Вы должны записать файл в другой временный файл, как только он будет записан, замените его предыдущим.