C#でファイルを開く・読み書きする基本!Fileクラスの使い方
生徒
「先生、C#でパソコンのファイルを開いたり、読み書きしたりするにはどうすればいいんですか?」
先生
「とても良い質問ですね。C#ではFileクラスを使えば、簡単にファイルを読み書きできますよ。」
生徒
「Fileクラスって何ですか?難しそうに聞こえます…。」
先生
「大丈夫です!Fileクラスというのは、C#が用意してくれている“ファイル操作の便利道具”みたいなものなんです。では、実際に使い方を見てみましょう!」
1. Fileクラスとは?
Fileクラスは、C#のSystem.IO(システム・アイオー)という名前空間の中にあるクラスです。「IO」は「Input/Output(インプット・アウトプット)」の略で、データの読み込みや書き込みを意味します。
このクラスを使うと、テキストファイルを開いたり、内容を読み取ったり、新しいファイルを作成したりすることができます。つまり、C#で「ファイル操作をしたい」ときに最初に覚えるべき重要なクラスなんです。
2. ファイルを読み込む(Read)方法
まずは、C#で「ファイルを読む」方法を見ていきましょう。ファイルの中身を読むには、File.ReadAllText()メソッドを使います。このメソッドは、指定したファイルの内容をすべて文字列として取得します。
using System;
using System.IO;
class Program
{
static void Main()
{
string path = "sample.txt"; // 読み込みたいファイルのパス
string text = File.ReadAllText(path);
Console.WriteLine("ファイルの内容を表示します:");
Console.WriteLine(text);
}
}
このコードでは、同じフォルダ内にある「sample.txt」というファイルを読み込み、コンソール画面に中身を出力しています。
もしファイルが存在しない場合はエラーになるので、最初にファイルを作成しておくか、存在チェックを行うと安全です。
3. ファイルに書き込む(Write)方法
次に、ファイルに文字を書き込む方法を紹介します。ファイルに書き込むには、File.WriteAllText()メソッドを使います。このメソッドは、指定したファイルに文字列を書き込みます。もしファイルが存在しなければ自動的に作成してくれます。
using System;
using System.IO;
class Program
{
static void Main()
{
string path = "output.txt"; // 書き込み先のファイル
string content = "こんにちは!C#でファイルに書き込んでいます。";
File.WriteAllText(path, content);
Console.WriteLine("ファイルに書き込みが完了しました。");
}
}
実行すると、プログラムと同じフォルダに「output.txt」というファイルが作られ、中に文字が書き込まれます。
こんにちは!C#でファイルに書き込んでいます。
このように、Fileクラスを使うだけで簡単にテキストファイルを作成・編集できます。
4. ファイルが存在するか確認する方法
プログラムでファイルを開く前に、「本当にそのファイルがあるか?」を確認することが大切です。存在しないファイルを開こうとするとエラーになるためです。File.Exists()メソッドを使えば、ファイルの存在を確認できます。
using System;
using System.IO;
class Program
{
static void Main()
{
string path = "data.txt";
if (File.Exists(path))
{
Console.WriteLine("ファイルが存在します。");
}
else
{
Console.WriteLine("ファイルが見つかりません。");
}
}
}
このように条件分岐を使ってファイルの有無を確認してから読み込みや書き込みを行えば、安全なプログラムになります。
5. ファイルに追記する(Append)方法
既存のファイルに新しい内容を追加したいときは、File.AppendAllText()を使います。これは、「既存の内容を消さずに後ろに追加する」メソッドです。
using System;
using System.IO;
class Program
{
static void Main()
{
string path = "output.txt";
string newLine = "\nこの行はあとから追加されました。";
File.AppendAllText(path, newLine);
Console.WriteLine("ファイルに追記しました。");
}
}
実行すると、すでにある「output.txt」の最後に新しい文章が追加されます。
こんにちは!C#でファイルに書き込んでいます。
この行はあとから追加されました。
6. ファイルの削除やコピーもできる!
Fileクラスを使えば、ファイルの削除やコピーも簡単に行えます。たとえば、不要になったファイルを削除するにはFile.Delete()、コピーするにはFile.Copy()を使います。
File.Delete("old.txt"); // ファイルを削除
File.Copy("output.txt", "backup.txt"); // ファイルをコピー
このようにFileクラスを使うと、Windowsのエクスプローラーで行う操作をプログラムから自動で実行できるようになります。
7. ファイル操作の注意点
ファイルを扱うときには、いくつかの注意点があります。
- ファイルが他のアプリで開かれていると操作できない場合があります。
- 書き込み操作は上書きされるので、必要に応じてバックアップを取りましょう。
- ファイルの場所(パス)を指定するときは、
@"C:\example\file.txt"のように書くと便利です(「@」はエスケープシーケンスを無効にします)。
こうしたポイントを押さえておけば、C#でのファイル操作を安全に行うことができます。
8. まとめに向けての理解
C#のFileクラスを使えば、ファイルを開く、読む、書く、追記する、削除するなど、基本的なファイル操作を数行のコードで簡単に実現できます。これを理解しておくと、日記アプリやログ保存ツールなど、身近なプログラムも作れるようになります。