ファイルを作成する [C#]

C#でファイルを作成する方法について紹介します。
ファイルを作成する際は、System.IO名前空間のFileInfoクラスのCreateメソッドを使用するか、FileクラスのCreate静的メソッドを使用します。

FileInfoクラスのCreateメソッドで作成

FileInfoクラスのCreateメソッドの構文は次のようになります。

FileInfo.Createメソッドの使用例

以下にCreateメソッドの使用例を示します。

Createメソッドは、作成したファイルのFileStreamオブジェクトを戻り値に返します。
CreateメソッドではFileInfoに設定したパスをもとにファイルを作成しますが、指定したパスのフォルダー(ディレクトリ)がない場合は「System.IO.DirectoryNotFoundException: ‘パス ‘C:\Test\NewFile.txt’ の一部が見つかりませんでした。’」という例外が発生します。(「C:\Test\NewFile.txt」の部分は指定したファイルのパスになります。)
Createメソッドでファイルを作成する場合は、事前にファイルを作成するフォルダーが存在するかどうかを確認した上で、存在しないのであればフォルダーを作成する必要があります。

FileクラスのCreate静的メソッドで作成

FileクラスのCreate静的メソッドの構文は次のようになります。

引数のpathに作成するファイルのパスを指定します。Create静的メソッドもFileInfoクラスのCreateメソッドと同様に、作成したファイルのFileStreamオブジェクトを戻り値に返します。

File.Create静的メソッドの使用例

以下にCreate静的メソッドの使用例を示します。

FileクラスのCreate静的メソッドは、FileInfoクラスのCreateメソッドと同様の処理を行うことができます。

FileInfoクラスのCreateメソッド、CreateSubdirectoryメソッド、FileクラスのCreate静的メソッドとも、作成対象のファイルが既に存在していてもファイルが新たに作成されます。既存のファイルを新しいファイルで上書きしないようには、ファイルが存在するかどうかを確認し、ファイルが存在する場合は警告メッセージ等を表示する処理が必要になります。

サンプルプログラム

Windowsフォームアプリケーションでのプログラムの実装例を記載します。

ユーザーインターフェース

フォームのインターフェースは次のようにします。

ファイル作成サンプルフォームデザイン

「button1」ボタンをクリックするとテキストボックスに入力されたファイルを作成します。
ファイルが既に存在している場合は例外を発生させて処理を中止します。
ファイルのフォルダーが存在しない場合は作成してからファイルを作成します。

ソースコード

サンプルプログラムのフォームには次のようなソースコードを記述します。

サンプルの実行

作成したプログラムを実行します。

ファイル作成サンプルフォーム実行

パスのテキストボックスに「C:\Test\CreateFile.txt」と入力します。

ファイル作成サンプルでファイルパスを入力

「button1」ボタンをクリックするとファイルが作成されます。

ファイル作成サンプルで作成されたファイル

もう一度「button1」ボタンをクリックすると、既にファイルが存在しているために、例外が発生してエラーメッセージが表示されます。

ファイル作成サンプルで表示された例外メッセージ