【C#】フォルダー作成方法 – 初心者向け解説
フォルダー作成の基本
C#で新しいフォルダーを作成するためには、主に「System.IO」名前空間を使います。この名前空間には、ファイルやフォルダーを操作するためのクラスが含まれています。フォルダー作成を行うために必要なクラスは「Directory」クラスです。
フォルダーを作成する基本的な方法は以下の通りです:
using System; using System.IO; class Program { static void Main() { string folderPath = @"C:\ExampleFolder"; Directory.CreateDirectory(folderPath); Console.WriteLine("フォルダーを作成しました!"); } }
上記のコードでは、指定したパスに新しいフォルダーが作成されます。パスが存在しない場合、親フォルダーも合わせて作成されます。
Directoryクラスを使ったフォルダー作成
「Directory.CreateDirectory」メソッドを使うことで、新しいフォルダーを簡単に作成できます。このメソッドは、指定したパスにフォルダーを作成し、もしそのパスがすでに存在する場合は何も行いません。
次に、実際のコード例を紹介します。
using System; using System.IO; class Program { static void Main() { string folderPath = @"C:\Example\NewFolder"; // フォルダーを作成 Directory.CreateDirectory(folderPath); Console.WriteLine("フォルダーが作成されました: " + folderPath); } }
このコードは、指定されたパスに「NewFolder」というフォルダーを作成します。もし「C:\Example」という親フォルダーがまだ存在しない場合、このメソッドはそれも合わせて作成します。
フォルダーが既に存在する場合の処理
フォルダーを作成する際に、すでに同じ名前のフォルダーが存在する場合、C#ではエラーを発生させずにそのまま処理を進めます。ただし、何らかの処理をしたい場合には、存在確認を行うことができます。
例えば、フォルダーが既に存在する場合にはメッセージを表示するコードは次のように書けます:
using System; using System.IO; class Program { static void Main() { string folderPath = @"C:\Example\NewFolder"; // フォルダーが存在するか確認 if (Directory.Exists(folderPath)) { Console.WriteLine("フォルダーは既に存在します。"); } else { // 存在しなければフォルダーを作成 Directory.CreateDirectory(folderPath); Console.WriteLine("フォルダーが作成されました。"); } } }
このコードでは、「Directory.Exists」メソッドを使用して指定したパスにフォルダーが存在するかどうかを確認し、存在する場合はその旨を表示します。存在しない場合は新しく作成します。
フォルダー作成のエラーハンドリング
フォルダーを作成する際に予期しないエラーが発生することがあります。例えば、パスに不正な文字が含まれている場合や、アクセス権限が不足している場合です。そのため、エラーハンドリングを行うことが重要です。
以下は、フォルダー作成時にエラーが発生した場合に例外をキャッチして処理するコード例です:
using System; using System.IO; class Program { static void Main() { string folderPath = @"C:\Example\NewFolder"; try { Directory.CreateDirectory(folderPath); Console.WriteLine("フォルダーが作成されました。"); } catch (UnauthorizedAccessException) { Console.WriteLine("アクセス権限が不足しています。"); } catch (PathTooLongException) { Console.WriteLine("パスが長すぎます。"); } catch (Exception ex) { Console.WriteLine("エラーが発生しました: " + ex.Message); } } }
このコードでは、フォルダー作成中に発生する可能性のあるエラーを「try-catch」ブロックで捕捉し、適切なエラーメッセージを表示します。
フォルダー作成の応用例
さらに応用的な例として、複数のサブフォルダーを一度に作成したい場合を考えます。これを実現するには、フォルダーのパスを指定する際に、サブフォルダーも含めて記述します。
以下のコードでは、「C:\Example\NewFolder\SubFolder1」と「C:\Example\NewFolder\SubFolder2」の2つのサブフォルダーを一度に作成します:
using System; using System.IO; class Program { static void Main() { string parentFolderPath = @"C:\Example\NewFolder"; string subFolder1 = @"\SubFolder1"; string subFolder2 = @"\SubFolder2"; // 親フォルダーとサブフォルダーを作成 Directory.CreateDirectory(parentFolderPath + subFolder1); Directory.CreateDirectory(parentFolderPath + subFolder2); Console.WriteLine("サブフォルダー1とサブフォルダー2が作成されました。"); } }
このように、親フォルダーとサブフォルダーを組み合わせて一度に作成することができます。