ファイル操作

[C#] ファイルをコピーする(File.Copy、FileInfo.CopyTo)

2021年9月7日

ファイルをコピーするサンプルです。

Fileクラスを使用する方法と、
FileInfoクラスを使用する方法の2種類があります。

Fileを使用する方法

例1-1)ファイル「D:¥test.txt」をコピーして「test2.txt」を作成する

using System.IO;

File.Copy(@"D:\test.txt", @"D:\test2.txt");

例1の場合、既に同名ファイルが存在する場合は例外が発生します。
例2のように第3引数にtrueを指定すると、同名ファイルが存在する場合は上書きしてくれます。

例1-2)ファイル「D:¥test.txt」をコピーして「test2.txt」を作成する(上書きあり)

using System.IO;

File.Copy(@"D:\test.txt", @"D:\test2.txt", true);

ファイルが使用中で上書きできない時は、
「System.UnauthorizedAccessException: 'パス 'XXX' へのアクセスが拒否されました。'」が発生します。

FileInfoを使用する方法

例2)ファイル「D:¥test.txt」をコピーして「test2.txt」を作成する

using System.IO;

FileInfo fi = new FileInfo(@"D:\test.txt");
fi.CopyTo(@"D:\test2.txt");

備考

  • どちらを使っても機能に差はないのでお好みの方をご使用ください。
    (上書きに対応しているかどうかの違いはあります。)
  • 指定するファイル名に不正がある場合は、System.IO.IOExceptionが発生します。
  • コピーではなく移動したい場合は、File.Move、FileInfo.MoveToを使用します。
    (以下関連記事をご覧ください。)

関連記事

-ファイル操作
-