【C#】フォルダー作成方法 – 初心者向け解説

【C#】フォルダー作成方法 – 初心者向け解説

フォルダー作成の基本

Directoryクラスを使ったフォルダー作成

フォルダーが既に存在する場合の処理

フォルダー作成のエラーハンドリング

フォルダー作成の応用例

フォルダー作成の基本

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が作成されました。");
        }
    }
  

このように、親フォルダーとサブフォルダーを組み合わせて一度に作成することができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です