當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C# File.Copy(String, String)用法及代碼示例

File.Copy(String, String)是一個內置的 File 類方法,用於將現有源文件內容的內容複製到此函數創建的另一個目標文件。

用法:

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

參數:此函數接受兩個參數,如下所示:

  • 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.

異常:

  • UnauthorizedAccessException:調用者沒有所需的權限。
  • ArgumentException:源文件名或 destFileName 是一個長度為零的字符串,隻包含空格,或者包含一個或多個由 InvalidPathChars 定義的無效字符。或 sourceFileName 或 destFileName 指定一個目錄。
  • ArgumentNullException:sourceFileName 或 destFileName 為空。
  • PathTooLongException:給定的路徑、文件名或兩者都超過了 system-defined 的最大長度。
  • DirectoryNotFoundException:源文件名或 destFileName 中給出的路徑無效(例如,它位於未映射的驅動器上)。
  • FileNotFoundException:未找到源文件名。
  • IOException:destFileName 存在。或發生了 I/O 錯誤。
  • NotSupportedException:源文件名或 destFileName 的格式無效。

下麵是說明 File.Copy(String, String) 方法的程序。
程序1:在運行以下代碼之前,隻創建了源文件 file.txt,如下所示。下麵的代碼本身會創建一個目標文件 gfg.txt 並將源文件內容複製到目標文件。

file.txt

C#


// 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 {
            // Copying source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
        Console.WriteLine("Copying process has been done.");
    }
}

執行:

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

運行上麵的代碼後,上麵的輸出已經顯示出來,並創建了一個新的目標文件 gfg.txt,如下所示:

gfg.txt

程序2:在運行下麵的代碼之前,創建了兩個文件,其中的一些內容如下所示:

file.txt

gfg.txt

C#


// 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 {
            // Copying source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
    }
}

執行:

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

運行上述代碼後,拋出上述錯誤是因為在運行程序之前創建了目標文件。


相關用法


注:本文由純淨天空篩選整理自Kanchan_Ray大神的英文原創作品 File.Copy(String, String) Method in C# with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。