CopyTo
CopyTo(dest) без перезаписи бросает, если цель уже есть. Есть перегрузка CopyTo(dest, overwrite).
Синтаксис
fileInfo.CopyTo(destPath);
fileInfo.CopyTo(destPath, overwrite: true);
Пример
Давайте скопируем abcde.txt в 12345.txt:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
new FileInfo("abcde.txt").CopyTo("12345.txt");
Console.WriteLine(File.ReadAllText("12345.txt"));
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте без overwrite получим IOException:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
File.WriteAllText("12345.txt", "12345");
try
{
new FileInfo("abcde.txt").CopyTo("12345.txt");
Console.WriteLine("ok");
}
catch (IOException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте перезапишем цель с overwrite: true:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
File.WriteAllText("12345.txt", "12345");
new FileInfo("abcde.txt").CopyTo("12345.txt", true);
Console.WriteLine(File.ReadAllText("12345.txt"));
}
}
Результат выполнения кода:
"abcde"
Смотрите также
-
MoveTo,
перенос вместо копии -
Copy,
статическое копирование -
IOException,
когда цель занята -
File,
запись исходника