Использование метода File.Replace для резервного копирования файлов на C#

В этом примере показано, как использовать метод File.Replace для создания двухуровневой системы резервного копирования журнала. Пример Сделать файл журнала с несколькими переполнениями версии в C# делают что-то подобное. Этот пример немного более гибкий, хотя для этого также требуется немного больше работы.

Метод File.Replace принимает три параметра: файл для копирования (file1), место назначения, где он должен скопировать файл (file2 ) и место резервного копирования, в котором должна быть перемещена старая копия (файл3). File.Replace disards file3, перемещает file2 в file3 в качестве резервной копии, а затем копирует file1 to file2.

Вы можете использовать этот метод для создания двухуровневой системы резервного копирования, где file1 - текущий файл, file2 - это резервная копия и file3 представляет собой более старую резервную копию.

Пример программы отображает текущий файл и два файла резервной копии. Введите текст и нажмите «Сохранить», чтобы поднять резервные файлы на один уровень и вставить новый текст в текущий файл.

Метод 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 → мусор.

Источник: http://csharphelper.com/blog/2014/10/use-the-file-replace-method-to-backup-files-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector