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 參數所描述的路徑格式不合法。

destinationFileName 參數為 null

指定的磁碟機無效。

找不到目前 FileInfo 物件所描述的檔案。

-或-

找不到 destinationBackupFileName 參數所描述的檔案。

開啟檔案時發生 I/O 錯誤。

-或-

sourceFileNamedestinationFileName 參數指定相同的檔案。

指定的路徑、檔案名稱,或兩者都超出系統定義的長度上限。

sourceFileNamedestinationFileName 參數指定了唯讀檔案。

-或-

這個作業在目前平台不受支援。

-或-

來源或目的地參數指定的是目錄,不是檔案。

-或-

呼叫端沒有必要的權限。

-or

sourceFileNamedestinationFileName 指定相同的現有目錄。

範例

下列程式碼範例會 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如果 位於與來源檔案不同的磁片區上,將會刪除備份檔案。

如果您不想建立要取代之檔案的備份,請傳遞 nulldestinationBackupFileName 參數。

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 表示忽略發生在已取代檔案和取代檔案上的合併錯誤 (例如屬性和存取控制清單 (ACL)),否則為 false

例外狀況

destinationFileName 參數所描述的路徑格式不合法。

-或-

destinationBackupFileName 參數所描述的路徑格式不合法。

destinationFileName 參數為 null

指定的磁碟機無效。

找不到目前 FileInfo 物件所描述的檔案。

-或-

找不到 destinationBackupFileName 參數所描述的檔案。

開啟檔案時發生 I/O 錯誤。

-或-

sourceFileNamedestinationFileName 參數指定相同的檔案。

指定的路徑、檔案名稱,或兩者都超出系統定義的長度上限。

sourceFileNamedestinationFileName 參數指定了唯讀檔案。

-或-

這個作業在目前平台不受支援。

-或-

來源或目的地參數指定的是目錄,不是檔案。

-或-

呼叫端沒有必要的權限。

-or

sourceFileNamedestinationFileName 指定相同的現有目錄。

範例

下列程式碼範例會 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如果 位於與來源檔案不同的磁片區上,將會刪除備份檔案。

如果您不想建立要取代之檔案的備份,請傳遞 nulldestinationBackupFileName 參數。

destinationBackupFileName如果 已經存在,則會以檔案的內容 destinationFileName 取代。

適用於