FileInfo.Replace Method (String, String)
Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file.
Assembly: mscorlib (in mscorlib.dll)
[ComVisibleAttribute(false)] public FileInfo Replace( string destinationFileName, string destinationBackupFileName )
Parameters
- destinationFileName
-
Type:
System.String
The name of a file to replace with the current file.
- destinationBackupFileName
-
Type:
System.String
The name of a file with which to create a backup of the file described by the destFileName parameter.
Return Value
Type: System.IO.FileInfoA FileInfo object that encapsulates information about the file described by the destFileName parameter.
| Exception | Condition |
|---|---|
| ArgumentException | The path described by the destFileName parameter was not of a legal form. -or- The path described by the destBackupFileName parameter was not of a legal form. |
| ArgumentNullException | The destFileName parameter is null. |
| FileNotFoundException | The file described by the current FileInfo object could not be found. -or- The file described by the destinationFileName parameter could not be found. |
| PlatformNotSupportedException | The current operating system is not Microsoft Windows NT or later. |
The Replace method replaces the contents of a specified file with the contents of the file described by the current FileInfo object. It also creates a backup of the file that was replaced. Finally, it returns a new FileInfo object that describes the overwritten file.
Caution |
|---|
This method will succeed in Windows 2000 environments if the destFileName is read-only and will not raise an exception. Use the IsReadOnly property to check if the destination file is read-only before attempting to replace it. |
Pass null to the destBackupFileName parameter if you do not want to create a backup of the file being replaced.
The following example uses the Replace method to replace a file with another file and create a backup of the replaced file.
using System; using System.IO; namespace FileSystemExample { class FileExample { public static void Main() { try { // originalFile and fileToReplace must contain the path to files that already exist in the // file system. backUpOfFileToReplace is created during the execution of the Replace method. string originalFile = "test.txt"; string fileToReplace = "test2.txt"; string backUpOfFileToReplace = "test2.txt.bak"; if (File.Exists(originalFile) && (File.Exists(fileToReplace))) { 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"); } else { Console.WriteLine("Either the file {0} or {1} doesn't " + "exist.", originalFile, fileToReplace); } } catch (Exception e) { Console.WriteLine(e.Message); } 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) { // Create a new FileInfo object. FileInfo fInfo = new FileInfo(fileToMoveAndDelete); // replace the file. fInfo.Replace(fileToReplace, backupOfFileToReplace, false); } } } //Move the contents of test.txt into test2.txt, delete test.txt, and //create a backup of test2.txt. //Done
Associated enumerations: Read , Write
Security Action: Demand.
For permission to read and write to the current file and the file described by the destFileName parameter.
Associated enumeration: Write
Security Action: Demand.
For permission to write to file described by the destBackupFileName parameter if one is specified.
Available since 2.0
