Использование метода File.Replace для резервного копирования файлов на C#
В этом примере показано, как использовать метод File.Replace для создания двухуровневой системы резервного копирования журнала. Пример
Метод File.Replace принимает три параметра: файл для копирования (file1), место назначения, где он должен скопировать файл (file2 tt >) и место резервного копирования, в котором должна быть перемещена старая копия (файл3). File.Replace disards file3, перемещает file2 в file3 в качестве резервной копии, а затем копирует file1 to file2.
Вы можете использовать этот метод для создания двухуровневой системы резервного копирования, где file1 - текущий файл, file2 - это резервная копия и file3 tt > представляет собой более старую резервную копию.
Пример программы отображает текущий файл и два файла резервной копии. Введите текст и нажмите «Сохранить», чтобы поднять резервные файлы на один уровень и вставить новый текст в текущий файл.
Метод File.Replace не работает, если файлы не существуют, поэтому при загрузке программа использует следующий код, чтобы убедиться, что файлы присутствуют.
private void Form1_Load(object sender, EventArgs e) { // Убедитесь, что все файлы существуют. if (!File.Exists("MainFile.txt")) File.WriteAllText("MainFile.txt", ""); if (!File.Exists("Backup1.txt")) File.WriteAllText("Backup1.txt", ""); if (!File.Exists("Backup2.txt")) File.WriteAllText("Backup2.txt", ""); // Отображение файлов. ShowFileContents(); }
private void Form1_Load (отправитель объекта, EventArgs e) { // Убедитесь, что все файлы существуют. if (! File.Exists ("MainFile.txt")) File.WriteAllText ("MainFile.txt", ""); if (! File.Exists ("Backup1.txt")) File.WriteAllText ("Backup1.txt", ""); if (! File.Exists («Backup2.txt»)) File.WriteAllText ("Backup2.txt", ""); // Отображение файлов. ShowFileContents (); }
...
Затем обработчик события Load вызывает следующий метод ShowFileContents для отображения исходного содержимого файлов.
// Отображение содержимого файлов. private void ShowFileContents() { txtFile.Text = File.ReadAllText("MainFile.txt"); txtBackup1.Text = File.ReadAllText("Backup1.txt"); txtBackup2.Text = File.ReadAllText("Backup2.txt"); }
Этот метод использует File.ReadAllText для получения и отображения каждого содержимого файла.
Когда вы нажимаете кнопку «Сохранить», следующий код выполняет резервное копирование.
// Пересматриваем резервные копии, а затем записываем новое значение в файл. private void btnSave_Click(object sender, EventArgs e) { // Перемещение файлов резервных копий. File.Replace("MainFile.txt", "Backup1.txt", "Backup2.txt"); // Записываем в основной файл. File.WriteAllText("MainFile.txt", txtComment.Text); // Отображение содержимого файлов. ShowFileContents(); // Очистить входной TextBox. txtComment.Clear(); }
Метод File.Replace перемещает Backup1.txt в Backup2.txt, а затем перемещает MainFile.txt to Backup1.txt. Другими словами, MainFile.txt → Backup1.txt → Backup2.txt → мусор.