File.Replace(String, String, String, Boolean) Method in C# with Examples
Last Updated :
08 Mar, 2021
File.Replace(String, String, String, Boolean) 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, creates a backup of the replaced file, and optionally ignores merge errors.
Syntax:
public static void Replace (string sourceFileName, string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors);
Parameter: This function accepts four 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.
- ignoreMetadataErrors: This parameter contains boolean value i.e, true to ignore merge errors (such as attributes and access control lists (ACLs)) from the replaced file to the replacement file; otherwise, false.
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, Boolean) 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-
C#
using System;
using System.IO;
class GFG {
public static void Main()
{
string sourceFileName = "file1.txt" ;
string destinationFileName = "file2.txt" ;
string destinationBackupFileName = "file3.txt" ;
File.Replace(sourceFileName, destinationFileName,
destinationBackupFileName, true );
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#
using System;
using System.IO;
class GFG {
public static void Main()
{
string sourceFileName = "file1.txt" ;
string destinationFileName = "file2.txt" ;
File.Replace(sourceFileName, destinationFileName,
null , false );
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-
Share your thoughts in the comments
Please Login to comment...