Поделиться через


File.Replace Метод

Определение

Заменяет содержимое указанного файла содержимым другого файла, удаление исходного файла и создание резервной копии замененного файла.

Перегрузки

Replace(String, String, String)

Заменяет содержимое указанного файла содержимым другого файла, удаление исходного файла и создание резервной копии замененного файла.

Replace(String, String, String, Boolean)

Заменяет содержимое указанного файла содержимым другого файла, удалив исходный файл и создав резервную копию замененного файла, и при необходимости игнорирует ошибки слияния.

Комментарии

Методы Replace заменяют содержимое указанного файла содержимым другого файла. Они также создают резервную копию файла, который был заменен.

Replace(String, String, String)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Заменяет содержимое указанного файла содержимым другого файла, удаление исходного файла и создание резервной копии замененного файла.

public:
 static void Replace(System::String ^ sourceFileName, System::String ^ destinationFileName, System::String ^ destinationBackupFileName);
public static void Replace (string sourceFileName, string destinationFileName, string? destinationBackupFileName);
public static void Replace (string sourceFileName, string destinationFileName, string destinationBackupFileName);
static member Replace : string * string * string -> unit
Public Shared Sub Replace (sourceFileName As String, destinationFileName As String, destinationBackupFileName As String)

Параметры

sourceFileName
String

Имя файла, заменяющего файл, указанный destinationFileName.

destinationFileName
String

Имя заменяемого файла.

destinationBackupFileName
String

Имя файла резервной копии.

Исключения

Путь, описанный параметром destinationFileName или destinationBackupFileName, не имеет юридической формы.

Параметр destinationFileNamenull.

Указан недопустимый диск.

Не удалось найти файл, описанный sourceFileName или параметром destinationFileName.

При открытии файла произошла ошибка ввода-вывода.

-или-

Параметры sourceFileName и destinationFileName указывают один и тот же файл.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Параметр sourceFileName или destinationFileName указывает файл, доступный только для чтения.

-или-

Эта операция не поддерживается на текущей платформе.

-или-

Исходные или целевые параметры указывают каталог вместо файла.

-или-

Вызывающий объект не имеет требуемого разрешения.

-или

sourceFileName и destinationFileName укажите тот же существующий каталог.

Примеры

В следующем примере кода используется метод Replace для замены файла другим файлом и создания резервной копии замененного файла.

using namespace System;
using namespace System::IO;


// Move a file into another file, delete the original,
// and create a backup of the replaced file.

void ReplaceFile(String^ fileToMoveAndDelete,
                 String^ fileToReplace, String^ backupOfFileToReplace)
{
    File::Replace(fileToMoveAndDelete, fileToReplace,
        backupOfFileToReplace, false);
}	


int main()
{
    try
    {
        String^ originalFile = "test.xml";
        String^ fileToReplace = "test2.xml";
        String^ backUpOfFileToReplace = "test2.xml.bac";

        Console::WriteLine("Move the contents of " + originalFile + " into " 
            + fileToReplace + ", delete " + originalFile
            + ", and create a backup of " + fileToReplace + ".");

        // Replace the file.
        ReplaceFile(originalFile, fileToReplace, backUpOfFileToReplace);

        Console::WriteLine("Done");
    }
    catch (IOException^ ex)
    {
        Console::WriteLine(ex->Message);
    } 
};
using System;
using System.IO;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string OriginalFile = "test.xml";
                string FileToReplace = "test2.xml";
                string BackUpOfFileToReplace = "test2.xml.bac";

                Console.WriteLine("Move the contents of " + OriginalFile + " into " + FileToReplace + ", delete " + OriginalFile +
                                   ", and create a backup of " + FileToReplace + ".");

                // Replace the file.
                ReplaceFile(OriginalFile, FileToReplace, BackUpOfFileToReplace);

                Console.WriteLine("Done");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            Console.ReadLine();
        }

        // Move a file into another file, delete the original, and create a backup of the replaced file.
        public static void ReplaceFile(string FileToMoveAndDelete, string FileToReplace, string BackupOfFileToReplace)
        {
            File.Replace(FileToMoveAndDelete, FileToReplace, BackupOfFileToReplace, false);
        }
    }
}
open System
open System.IO

// Move a file into another file, delete the original, and create a backup of the replaced file.
let replaceFile fileToMoveAndDelete fileToReplace backupOfFileToReplace =
    File.Replace(fileToMoveAndDelete, fileToReplace, backupOfFileToReplace, false)

let originalFile = "test.xml"
let fileToReplace = "test2.xml"
let backUpOfFileToReplace = "test2.xml.bac"

printfn
    $"Move the contents of {originalFile} into {fileToReplace}, delete {originalFile}, and create a backup of {fileToReplace}."

// Replace the file.
replaceFile originalFile fileToReplace backUpOfFileToReplace

printfn "Done"
Imports System.IO

Module FileExample

    Sub Main()
        Try
            Dim OriginalFile As String = "test.xml"
            Dim FileToReplace As String = "test2.xml"
            Dim BackUpOfFileToReplace As String = "test2.xml.bac"

            Console.WriteLine("Move the contents of " + OriginalFile + " into " + FileToReplace + ", delete " + OriginalFile + ", and create a backup of " + FileToReplace + ".")

            ' Replace the file.
            ReplaceFile(OriginalFile, FileToReplace, BackUpOfFileToReplace)

            Console.WriteLine("Done")
        Catch e As Exception
            Console.WriteLine(e)
        End Try

        Console.ReadLine()

    End Sub

    ' Move a file into another file, delete the original, and create a backup of the replaced file.
    Sub ReplaceFile(ByVal FileToMoveAndDelete As String, ByVal FileToReplace As String, ByVal BackupOfFileToReplace As String)

        ' Replace the file.
        File.Replace(FileToMoveAndDelete, FileToReplace, BackupOfFileToReplace, False)

    End Sub
End Module

Комментарии

Метод Replace заменяет содержимое указанного файла содержимым другого файла. Он также создает резервную копию файла, который был заменен.

Если sourceFileName и destinationFileName находятся в разных томах, этот метод вызывает исключение. Если destinationBackupFileName находится в другом томе исходного файла, файл резервной копии будет удален.

Передайте null параметру destinationBackupFileName, если вы не хотите создать резервную копию заменяемого файла.

Если destinationBackupFileName уже существует, он заменен содержимым файла destinationFileName.

Применяется к

Replace(String, String, String, Boolean)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Заменяет содержимое указанного файла содержимым другого файла, удалив исходный файл и создав резервную копию замененного файла, и при необходимости игнорирует ошибки слияния.

public:
 static void Replace(System::String ^ sourceFileName, System::String ^ destinationFileName, System::String ^ destinationBackupFileName, bool ignoreMetadataErrors);
public static void Replace (string sourceFileName, string destinationFileName, string? destinationBackupFileName, bool ignoreMetadataErrors);
public static void Replace (string sourceFileName, string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors);
static member Replace : string * string * string * bool -> unit
Public Shared Sub Replace (sourceFileName As String, destinationFileName As String, destinationBackupFileName As String, ignoreMetadataErrors As Boolean)

Параметры

sourceFileName
String

Имя файла, заменяющего файл, указанный destinationFileName.

destinationFileName
String

Имя заменяемого файла.

destinationBackupFileName
String

Имя файла резервной копии.

ignoreMetadataErrors
Boolean

true игнорировать ошибки слияния (например, атрибуты и списки управления доступом) из замененного файла в файл замены; в противном случае false.

Исключения

Путь, описанный параметром destinationFileName или destinationBackupFileName, не имеет юридической формы.

Параметр destinationFileNamenull.

Указан недопустимый диск.

Не удалось найти файл, описанный sourceFileName или параметром destinationFileName.

При открытии файла произошла ошибка ввода-вывода.

-или-

sourceFileName и destinationFileName укажите один и тот же файл.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Параметр sourceFileName или destinationFileName указывает файл, доступный только для чтения.

-или-

Эта операция не поддерживается на текущей платформе.

-или-

Исходные или целевые параметры указывают каталог вместо файла.

-или-

Вызывающий объект не имеет требуемого разрешения.

-или

sourceFileName и destinationFileName укажите тот же существующий каталог.

Примеры

В следующем примере кода используется метод Replace для замены файла другим файлом и создания резервной копии замененного файла.

using namespace System;
using namespace System::IO;


// Move a file into another file, delete the original,
// and create a backup of the replaced file.

void ReplaceFile(String^ fileToMoveAndDelete,
                 String^ fileToReplace, String^ backupOfFileToReplace)
{
    File::Replace(fileToMoveAndDelete, fileToReplace,
        backupOfFileToReplace, false);
}	


int main()
{
    try
    {
        String^ originalFile = "test.xml";
        String^ fileToReplace = "test2.xml";
        String^ backUpOfFileToReplace = "test2.xml.bac";

        Console::WriteLine("Move the contents of " + originalFile + " into " 
            + fileToReplace + ", delete " + originalFile
            + ", and create a backup of " + fileToReplace + ".");

        // Replace the file.
        ReplaceFile(originalFile, fileToReplace, backUpOfFileToReplace);

        Console::WriteLine("Done");
    }
    catch (IOException^ ex)
    {
        Console::WriteLine(ex->Message);
    } 
};
using System;
using System.IO;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string OriginalFile = "test.xml";
                string FileToReplace = "test2.xml";
                string BackUpOfFileToReplace = "test2.xml.bac";

                Console.WriteLine("Move the contents of " + OriginalFile + " into " + FileToReplace + ", delete " + OriginalFile +
                                   ", and create a backup of " + FileToReplace + ".");

                // Replace the file.
                ReplaceFile(OriginalFile, FileToReplace, BackUpOfFileToReplace);

                Console.WriteLine("Done");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            Console.ReadLine();
        }

        // Move a file into another file, delete the original, and create a backup of the replaced file.
        public static void ReplaceFile(string FileToMoveAndDelete, string FileToReplace, string BackupOfFileToReplace)
        {
            File.Replace(FileToMoveAndDelete, FileToReplace, BackupOfFileToReplace, false);
        }
    }
}
open System
open System.IO

// Move a file into another file, delete the original, and create a backup of the replaced file.
let replaceFile fileToMoveAndDelete fileToReplace backupOfFileToReplace =
    File.Replace(fileToMoveAndDelete, fileToReplace, backupOfFileToReplace, false)

let originalFile = "test.xml"
let fileToReplace = "test2.xml"
let backUpOfFileToReplace = "test2.xml.bac"

printfn
    $"Move the contents of {originalFile} into {fileToReplace}, delete {originalFile}, and create a backup of {fileToReplace}."

// Replace the file.
replaceFile originalFile fileToReplace backUpOfFileToReplace

printfn "Done"
Imports System.IO

Module FileExample

    Sub Main()
        Try
            Dim OriginalFile As String = "test.xml"
            Dim FileToReplace As String = "test2.xml"
            Dim BackUpOfFileToReplace As String = "test2.xml.bac"

            Console.WriteLine("Move the contents of " + OriginalFile + " into " + FileToReplace + ", delete " + OriginalFile + ", and create a backup of " + FileToReplace + ".")

            ' Replace the file.
            ReplaceFile(OriginalFile, FileToReplace, BackUpOfFileToReplace)

            Console.WriteLine("Done")
        Catch e As Exception
            Console.WriteLine(e)
        End Try

        Console.ReadLine()

    End Sub

    ' Move a file into another file, delete the original, and create a backup of the replaced file.
    Sub ReplaceFile(ByVal FileToMoveAndDelete As String, ByVal FileToReplace As String, ByVal BackupOfFileToReplace As String)

        ' Replace the file.
        File.Replace(FileToMoveAndDelete, FileToReplace, BackupOfFileToReplace, False)

    End Sub
End Module

Комментарии

Метод Replace заменяет содержимое указанного файла содержимым другого файла. Он также создает резервную копию файла, который был заменен.

Если sourceFileName и destinationFileName находятся в разных томах, этот метод вызывает исключение. Если destinationBackupFileName находится в другом томе исходного файла, файл резервной копии будет удален.

Передайте null параметру destinationBackupFileName, если вы не хотите создать резервную копию заменяемого файла.

Если destinationBackupFileName уже существует, он заменен содержимым файла destinationFileName.

Применяется к