File.Replace(String, String, String) Method in C# with Examples

08 Mar, 2021
File.Replace(String, String, String) is an inbuilt File class method that is used to replace the contents of a specified destination file with the contents of a source file then it deletes the source file and creates a backup of the replaced file.Syntax:  
public static void Replace (string sourceFileName, string destinationFileName, string destinationBackupFileName);  
Parameter: This function accepts three parameters which are illustrated below:  
sourceFileName: This is the specified source file.
destinationFileName: This is the specified destination file whose contents get replaced with the contents of the source file.
destinationBackupFileName: This file contains the backup of replaced destination file’s content.
Exceptions: 
ArgumentException: The path described by the destinationFileName parameter was not of a legal form. OR the path described by the destinationBackupFileName parameter was not of a legal form.
ArgumentNullException: The destinationFileName parameter is null.
DriveNotFoundException: An invalid drive was specified.
FileNotFoundException: The file described by the current FileInfo object could not be found. OR the file described by the destinationBackupFileName parameter could not be found.
IOException: An I/O error occurred while opening the file. OR the sourceFileName and destinationFileName parameters specify the same file.
PathTooLongException: The specified path, file name, or both exceed the system-defined maximum length.
PlatformNotSupportedException: The operating system is Windows 98 Second Edition or earlier and the files system is not NTFS.
UnauthorizedAccessException: The sourceFileName or destinationFileName parameter specifies a file that is read-only. OR this operation is not supported on the current platform. OR source or destination parameters specify a directory instead of a file. OR the caller does not have the required permission.
Below are the programs to illustrate the File.Replace(String, String, String) method.Program 1: Before running the below code, three files have been created, where source file is file1.txt, destination file is file2.txt and backup file is file3.txt. These files’ contents are shown below- 
 
 
 
CSharp
// Using System and System.IO namespacesusing System;using System.IO;
class GFG {public static void Main(){// Specifying 3 filesstring sourceFileName = "file1.txt";string destinationFileName = "file2.txt";string destinationBackupFileName = "file3.txt";
// Calling the Replace() functionFile.Replace(sourceFileName, destinationFileName,destinationBackupFileName);
Console.WriteLine("Replacement process has been done.");}}
Output:  
Replacement process has been done.
After running the above code, the above output is shown, the source file is deleted, and the remaining two file’s contents are shown below- 
 
Program 2: Before running the below code, two files have been created, where source file is file1.txt, destination file is file2.txt and there is no backup file because we do not want to keep backup of the replaced file. These files’ contents are shown below- 
 
 
C#
// C# program to illustrate the usage// of File.Replace(String, String, String) method  // Using System and System.IO namespacesusing System;using System.IO;  class GFG {    public static void Main()    {        // Specifying 2 files        string sourceFileName = "file1.txt";        string destinationFileName = "file2.txt";          // Calling the Replace() function with        // null parameter inplace of backup file because        // we do not want to keep backup of the        // replaced file.        File.Replace(sourceFileName, destinationFileName, null);          Console.WriteLine("Replacement process has been done.");    }}
Output:  
Replacement process has been done.
After running the above code, the above output is shown, the source file is deleted, and the destination file contents are shown below- 
arorakashish0911
CSharp-File-Handling
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C# | Multiple inheritance using interfaces
Differences Between .NET Core and .NET Framework
Extension Method in C#
C# | List Class
C# | .NET Framework (Basic Architecture and Component Stack)
HashSet in C# with Examples
Switch Statement in C#
Partial Classes in C#
Lambda Expressions in C#
Hello World in C#