Export (0) Print
Expand All
22 out of 31 rated this helpful - Rate this topic

File.Copy Method

Copies an existing file to a new file.

Overload List

Copies an existing file to a new file. Overwriting a file of the same name is not allowed.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Sub Copy(String, String)
[C#] public static void Copy(string, string);
[C++] public: static void Copy(String*, String*);
[JScript] public static function Copy(String, String);

Copies an existing file to a new file. Overwriting a file of the same name is allowed.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Sub Copy(String, String, Boolean)
[C#] public static void Copy(string, string, bool);
[C++] public: static void Copy(String*, String*, bool);
[JScript] public static function Copy(String, String, Boolean);

Example

[Visual Basic, C#, C++] The following example copies a file to the specified path, allowing the overwriting of a target file of the same name.

[Visual Basic, C#, C++] Note   This example shows how to use one of the overloaded versions of Copy. For other examples that might be available, see the individual overload topics.
[Visual Basic] 
Imports System
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        ' Specify the directories you want to manipulate.
        Dim path As String = "c:\temp\MyTest.txt"
        Dim path2 As String = path + "temp"

        Try
            Dim fs As FileStream = File.Create(path)
            fs.Close()

            ' Ensure that the target does not exist.
            File.Delete(path2)

            ' Copy the file.
            File.Copy(path, path2)
            Console.WriteLine("{0} copied to {1}", path, path2)

            ' Try to copy the same file again, which should succeed.
            File.Copy(path, path2, True)
            Console.WriteLine("The second Copy operation succeeded, which was expected.")

        Catch
            Console.WriteLine("Double copying is not allowed, which was not expected.")
        End Try
    End Sub
End Class

[C#] 
using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";
        string path2 = path + "temp";

        try 
        {
            // Create the file and clean up handles.
            using (FileStream fs = File.Create(path)) {}

            // Ensure that the target does not exist.
            File.Delete(path2);

            // Copy the file.
            File.Copy(path, path2);
            Console.WriteLine("{0} copied to {1}", path, path2);

            // Try to copy the same file again, which should succeed.
            File.Copy(path, path2, true);
            Console.WriteLine("The second Copy operation succeeded, which was expected.");
        } 

        catch 
        {
            Console.WriteLine("Double copy is not allowed, which was not expected.");
        }
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::IO;

int main() {
    String* path = S"c:\\temp\\MyTest.txt";
    String* path2 = String::Concat(path, S"temp");

    try {
        // Create the file and clean up handles.
        IDisposable* file = __try_cast<IDisposable*>(File::Create(path));
        if (file) file->Dispose();

        // Ensure that the target does not exist.
        File::Delete(path2);

        // Copy the file.
        File::Copy(path, path2);
        Console::WriteLine(S"{0} copied to {1}", path, path2);

        // Try to copy the same file again, which should succeed.
        File::Copy(path, path2, true);
        Console::WriteLine(S"The second Copy operation succeeded, which was expected.");
    } catch (Exception*) {
        Console::WriteLine(S"Double copy is not allowed, which was not expected.");
    }
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

File Class | File Members | System.IO Namespace

Show:
© 2014 Microsoft. All rights reserved.