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

File.Copy(String, String) is an inbuilt File class method that is used to copy the content of the existing source file content to another destination file which is created by this function.

Syntax:

public static void Copy (string sourceFileName, string destFileName);

Parameter: This function accepts two parameters which are illustrated below:

  • sourceFileName: This is the file from where data is copied.
  • destFileName: This is the file where data is pasted. This cannot be a existing file or a directory.

Exceptions:

  • UnauthorizedAccessException: The caller does not have the needed permission.
  • ArgumentException: The source filename or destFileName is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars. OR the sourceFileName or destFileName specifies a directory.
  • ArgumentNullException: The sourceFileName or destFileName is null.
  • PathTooLongException: The given path, file name, or both exceed the system-defined maximum length.
  • DirectoryNotFoundException: The path given in source filename or destFileName is invalid (for example, it is on an unmapped drive).
  • FileNotFoundException: The source filename was not found.
  • IOException: destFileName exists. OR an I/O error has occurred.
  • NotSupportedException: The source file name or destFileName is in an invalid format.

Below are the programs to illustrate the File.Copy(String, String) method.



Program 1: Before running the below code, only source file file.txt was created which is shown below. Below code itself creates a destination file gfg.txt and copies the source file conents to the destination file.

file.txt

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the usage
// of File.Copy() method
   
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
   
class GFG {
    // Main() method
    public static void Main()
    {
        // Creating two files
        string sourceFile = @"file.txt";
        string destinationFile = @"gfg.txt";
        try {
            // Coping source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
        Console.WriteLine("Coping process has been done.");
    }
}

chevron_right


Executing:

mcs -out:main.exe main.cs
mono main.exe
Coping process has been done.

After running the above code, above output has been shown and a new destination file gfg.txt created which is shown below:

gfg.txt

Program 2: Before running the below code, two file is created with some contents shown below:

file.txt

gfg.txt

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the usage
// of File.Copy() method
   
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
   
class GFG {
    // Main() method
    public static void Main()
    {
        // Specifying two files
        string sourceFile = @"file.txt";
        string destinationFile = @"gfg.txt";
        try {
            // Coping source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
    }
}

chevron_right


Executing:

mcs -out:main.exe main.cs
mono main.exe
Could not create file "/home/runner/NutritiousHeavyRegression/gfg.txt". File already exists.

After running the above code, the above error is thrown because the destination file was created before running the program.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.