カテゴリ: C# 更新日: 2025/12/02

C#でファイルの存在確認・削除・移動の基本操作まとめ

C#でファイルの存在確認・削除・移動の基本操作まとめ
C#でファイルの存在確認・削除・移動の基本操作まとめ

先生と生徒の会話形式で理解しよう

生徒

「先生、C#でファイルを確認したり削除したりする方法ってありますか?」

先生

「もちろんあります。C#では、Fileクラスという便利なクラスを使えば、ファイルの存在確認・削除・移動が簡単にできますよ。」

生徒

「ファイル操作ってなんだか難しそうですが、初心者でもできますか?」

先生

「大丈夫です。ファイル操作は、実は“家の中の荷物整理”のようなものなんです。存在確認は『このファイルあるかな?』、削除は『捨てる』、移動は『別の場所に片付ける』、といったイメージで考えるとわかりやすいですよ。」

生徒

「なるほど、そう考えるとイメージしやすいですね!具体的にどうやるのか知りたいです!」

先生

「それでは、実際のC#コードを使って、順番に説明していきましょう。」

1. C#でファイルの存在を確認する方法

1. C#でファイルの存在を確認する方法
1. C#でファイルの存在を確認する方法

まずは、「ファイルが存在するかどうか」を確認する方法です。C#では、File.Existsメソッドを使うことで、ファイルが存在するかどうかを簡単に調べることができます。

File.Existsは、指定したパス(ファイルの場所)にファイルがあればtrue(真)、なければfalse(偽)を返します。つまり、「このファイルある?」と聞いたら、「あるよ」または「ないよ」と返してくれるイメージです。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = "test.txt";

        if (File.Exists(path))
        {
            Console.WriteLine("ファイルは存在します。");
        }
        else
        {
            Console.WriteLine("ファイルは存在しません。");
        }
    }
}

このプログラムを実行すると、test.txtというファイルがあるかどうかを調べて結果を表示します。


ファイルは存在します。

もしファイルが存在しない場合は、次のように表示されます。


ファイルは存在しません。

ファイルの存在確認は、削除や移動の前に「そのファイルが本当にあるのか?」を確認するためにも、とても大切な基本操作です。

2. C#でファイルを削除する方法

2. C#でファイルを削除する方法
2. C#でファイルを削除する方法

次に、ファイルを削除する方法を学びましょう。C#では、File.Deleteメソッドを使ってファイルを削除できます。

ただし、存在しないファイルを削除しようとするとエラーが出ることがあります。そのため、削除する前にFile.Existsで確認するのが安全です。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = "delete_me.txt";

        if (File.Exists(path))
        {
            File.Delete(path);
            Console.WriteLine("ファイルを削除しました。");
        }
        else
        {
            Console.WriteLine("削除するファイルが見つかりません。");
        }
    }
}

ファイルを削除しました。

このように、削除前にチェックしておけば、安全にファイル操作を行えます。誤って大事なファイルを消してしまわないよう、常に確認する習慣をつけましょう。

3. C#でファイルを移動する方法

3. C#でファイルを移動する方法
3. C#でファイルを移動する方法

続いて、ファイルを別の場所へ移動する方法を見ていきましょう。C#では、File.Moveメソッドを使います。これは「ファイルをコピーして、元の場所を消す」という動きをしてくれます。

ファイルを整理したり、バックアップ用のフォルダにまとめたりするときに、とても便利です。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourcePath = "sample.txt";
        string destinationPath = "backup/sample.txt";

        if (File.Exists(sourcePath))
        {
            // ディレクトリが存在しない場合は作成
            Directory.CreateDirectory("backup");

            File.Move(sourcePath, destinationPath);
            Console.WriteLine("ファイルを移動しました。");
        }
        else
        {
            Console.WriteLine("移動するファイルが見つかりません。");
        }
    }
}

ファイルを移動しました。

ポイント:移動先に同じ名前のファイルがあるとエラーになります。その場合は、File.Existsで確認して、既存ファイルを削除したり、ファイル名を変更して保存するなどの工夫が必要です。

4. ファイル操作でよくある注意点

4. ファイル操作でよくある注意点
4. ファイル操作でよくある注意点

ここまでで、C#のファイル操作(存在確認・削除・移動)の基本を学びましたが、実際に使うときに注意すべき点もいくつかあります。

  • ファイルのパス"C:\\Data\\test.txt"のように、Windowsではバックスラッシュ(\)を2つ続けて書く必要があります。
  • アクセス権限:削除や移動には、ファイルへの書き込み権限が必要です。権限がない場合はエラーになります。
  • 例外処理:予期せぬエラー(ファイル使用中など)に備えて、try-catch構文でエラーをキャッチするのも良い方法です。

これらを意識しておくと、実際の開発でトラブルを防ぐことができます。

5. Fileクラスを使えば簡単にファイルを扱える!

5. Fileクラスを使えば簡単にファイルを扱える!
5. Fileクラスを使えば簡単にファイルを扱える!

C#のFileクラスを使えば、ファイルの存在確認・削除・移動といった操作を、ほんの数行で実装できます。ファイル操作はプログラム開発の基本中の基本です。今回学んだ3つの操作を覚えておくだけでも、データの整理やバックアップ処理など、さまざまな場面で役立ちます。

最初は「パス」や「メソッド」などの言葉に慣れないかもしれませんが、実際に手を動かして試してみることで、C#のファイル操作がきっと楽しくなるはずです。

まとめ

まとめ
まとめ

C#でファイルの存在確認・削除・移動を行う方法は、プログラムでデータを扱ううえで欠かせない基本的な操作です。今回の記事では、Fileクラスを中心に、日常的に使う機会が多い3つの代表的な処理を順に学びました。これらの機能は「ファイルがあるか確認する」「不要なファイルを削除する」「別の場所に移す」といった、現実世界の整理整頓に近い感覚で理解できるのが特徴です。初心者にとっても直感的に扱えるため、まず最初に覚えておきたい重要なテクニックといえるでしょう。

例えば、File.Existsは「ファイルが存在するか」を調べるためのとてもシンプルなメソッドで、条件分岐と組み合わせることで柔軟な処理が書けます。また、間違って存在しないファイルに対して操作を行ってしまうミスも防げます。次に、File.Deleteは不要になったファイルを削除するメソッドで、誤削除を避けるためにも存在確認と合わせて使うことが基本となります。さらに、File.Moveを利用すれば、ファイルを整理する場面でも効率よく目的のフォルダへ移動でき、バックアップやフォルダ間整理にも役立ちます。

実践的な開発では、例外処理やアクセス権限、パスの表記揺れなどにも注意が必要ですが、基本を理解しておけば応用は難しくありません。ファイル操作は、業務アプリケーションやログ管理、バックアップ処理など幅広いシーンで活躍するため、今回の内容をしっかり押さえておくことで、今後のプログラミングにおいて大きな力になります。特に、ファイルが存在するかどうかによって処理を分けたり、削除・移動を確実に行ったりするテクニックは、実務でも頻繁に用いられる重要なスキルです。

サンプルプログラムで基本操作をおさらいしよう

以下のサンプルでは、「存在確認 → 削除 → 移動」といった一連の操作をまとめて実行する例を紹介します。記事内容を組み合わせた実践的な処理で、使い方がよりイメージしやすくなるはずです。


using System;
using System.IO;

class FileSample
{
    static void Main()
    {
        string path = "sample.txt";
        string backup = "backup";
        string backupFile = Path.Combine(backup, "sample.txt");

        // 1. 存在確認
        if (File.Exists(path))
        {
            Console.WriteLine("ファイルが見つかりました。");

            // 2. 削除するか移動するかの例(今回は移動)
            Directory.CreateDirectory(backup);
            File.Move(path, backupFile);
            Console.WriteLine("ファイルをバックアップフォルダに移動しました。");
        }
        else
        {
            Console.WriteLine("指定されたファイルが存在しません。処理を終了します。");
        }

        // 3. バックアップファイルを削除する例
        if (File.Exists(backupFile))
        {
            File.Delete(backupFile);
            Console.WriteLine("バックアップファイルを削除しました。");
        }
    }
}

このプログラムは、存在確認・移動・削除の3つを組み合わせた実践的な処理です。実際のアプリケーションでも「見つかったら処理を進める」「見つからなかったら終了する」といった流れはよく使われます。バックアップフォルダの作成にはDirectory.CreateDirectoryを使用し、必要なフォルダがない場合でも自動で作成できるのも便利なポイントです。

先生と生徒の振り返り会話

生徒「ファイル操作って難しいイメージでしたけど、存在確認・削除・移動の流れが分かったら整理しやすかったです!」

先生「そうですね。Fileクラスはとてもシンプルに作られているので、基本を押さえておけばどんどん応用できますよ。実務でも必ず使う操作なので覚えておくと便利です。」

生徒「移動や削除の前に存在確認するのが大事なんですね。エラーを防げるのは安心です。」

先生「その通りです。さらに、パスの書き方やアクセス権限にも気をつければ、より安全にファイルを扱えるようになりますよ。」

生徒「今日の内容を使えば、ログファイルの整理とかバックアップ処理も作れそうです!」

先生「良いですね。今回の基礎を生かして、ぜひ自分のアプリにもファイル操作を取り入れてみてください。」

カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法