はじめに
C#を使ったアプリケーション開発では、ファイル操作は非常に重要なスキルの一つです。テキストファイルの読み書き、バイナリデータの保存、ディレクトリの操作など、ファイル関連の処理は多岐にわたります。本シリーズでは、C#におけるファイル操作を基礎から応用まで順を追って解説していきます。第1回目は、C#における基本的なファイル操作の概要を学びます。
C#でのファイル操作に使うクラス
C#でファイル操作を行う場合、主にSystem.IO
名前空間に含まれるクラスを使用します。この名前空間には、ファイルの作成、削除、読み書き、移動など、さまざまな操作を行うためのクラスが揃っています。
以下は、代表的なクラスの一覧です。
クラス名 | 説明 |
File | ファイルの作成、削除、コピー、移動、存在確認を行います。 |
FileInfo | Fileクラスと似ていますが、インスタンス化して使用します。 |
Directory | ディレクトリの作成、削除、存在確認を行います。 |
DirectoryInfo Directory | クラスと同様の機能を提供しますが、インスタンスとして利用できます。 |
StreamReader | テキストファイルを一行ずつ読み取るために使用します。 |
StreamWriter | テキストファイルにデータを書き込むために使用します。 |
FileStream | ファイルの読み書きを行うための低レベルストリームを提供します。 |
基本的なファイル操作の例
ここでは、File
クラスを使った基本的な操作をいくつか紹介します。
ファイルの作成
ファイルを作成する場合、File.Create
メソッドを使用します
using System.IO; class Program { static void Main() { string filePath = @"C:\example\myfile.txt"; File.Create(filePath); } }
このコードは、指定したパスに新しいファイルを作成します。もしファイルが既に存在している場合、ファイルが上書きされる点に注意してください。
ファイルの存在確認
ファイルが既に存在するかどうかを確認する場合は、File.Exists
メソッドを使用します。
if (File.Exists(filePath)) { Console.WriteLine("ファイルが存在します。"); } else { Console.WriteLine("ファイルが存在しません。"); }
ファイルの削除
ファイルを削除するには、File.Deleteメソッドを使用します。
if (File.Exists(filePath)) { File.Delete(filePath); Console.WriteLine("ファイルを削除しました。"); }
テキストファイルの読み書き
C#では、テキストファイルの読み書きも簡単に行うことができます。ここでは、よく使われるFile.ReadAllText
とFile.WriteAllText
メソッドを紹介します。
ファイルへの書き込み
ファイルにテキストを書き込むには、File.WriteAllText
を使用します。
string content = "Hello, world!!"; File.WriteAllText(filePath, content);
このコードは、指定されたファイルに「Hello, world!!」という文字列を書き込みます。ファイルが存在しない場合は新しく作成され、既に存在する場合は内容が上書きされます。
ファイルの読み込み
ファイルからテキストを読み込むには、File.ReadAllText
を使用します。
if (File.Exists(filePath)) { string content = File.ReadAllText(filePath); Console.WriteLine(content); }
このコードは、指定されたファイルからテキストを読み込み、コンソールに出力します。
ディレクトリ操作
ファイルと同様に、ディレクトリの操作もSystem.IO
名前空間で行うことができます。Directory
クラスとDirectoryInfo
クラスを使って、ディレクトリの作成、削除、移動などを実行できます。
ディレクトリの作成
ディレクトリを作成するには、Directory.CreateDirectory
メソッドを使用します。
string directoryPath = @"C:\example\newDirectory"; Directory.CreateDirectory(directoryPath);
ディレクトリの存在確認
ディレクトリが存在するか確認するには、Directory.Exists
を使用します。
if (Directory.Exists(directoryPath)) { Console.WriteLine("ディレクトリが存在します。"); }
ファイル・ディレクトリ操作時の注意点
ファイルやディレクトリ操作時には、いくつかの注意点があります。
- ファイルの上書き: ファイル操作中に既存のファイルが上書きされる可能性があるため、事前に確認することが重要です。
- パスの正確性: 操作するファイルやディレクトリのパスが正確であるか確認する必要があります。不正なパスを指定すると、
FileNotFoundException
やDirectoryNotFoundException
が発生することがあります。 - 権限: アプリケーションが実行される環境で、ファイルやディレクトリへのアクセス権限があるかを確認しましょう。アクセス権がないと、
UnauthorizedAccessException
が発生します。
まとめ
この記事では、C#における基本的なファイル操作の概要を解説しました。System.IO
名前空間の主要なクラスを使い、ファイルの作成、削除、読み書き、ディレクトリ操作などを簡単に行うことができることを学びました。
次回の記事では、より詳細なテキストファイルの読み書き操作について解説します。C#を使って効率的にファイルを操作できるようになりましょう!
コメント