【C#】ファイル操作の基本と応用

ファイル操作の基本と応用

ファイル操作は、プログラミングにおいて非常に重要な要素です。C#言語を使用してファイルを操作する方法を学び、基本的なファイル操作から応用的なテクニックまでを紹介します。

概要

ファイル操作は、データの読み込み、書き込み、削除、移動など、様々な操作が可能です。C#言語では、

System.IO

名前空間に用意されたクラスを使用してファイル操作を行います。この記事では、基本的なファイルの読み書きから、ファイルやディレクトリの操作、例外処理、さらにはストリームを使用した高度なファイル操作までを解説します。

コンテンツ

  1. ファイルの作成と書き込み
  2. ファイルの読み込み
  3. ファイルやディレクトリの操作
  4. 例外処理
  5. ストリームを使用した高度なファイル操作

1. ファイルの作成と書き込み

C#でファイルを作成し、テキストを書き込む方法を説明します。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\sample.txt";
        using (StreamWriter writer = File.CreateText(path))
        {
            writer.WriteLine("Hello, File Handling in C#!");
        }
    }
}

上記のコードでは、

File.CreateText

メソッドを使用して新しいテキストファイルを作成し、

StreamWriter

を使用してテキストを書き込んでいます。

2. ファイルの読み込み

ファイルからテキストを読み込む方法を説明します。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\sample.txt";
        using (StreamReader reader = File.OpenText(path))
        {
            string text = reader.ReadToEnd();
            Console.WriteLine(text);
        }
    }
}

上記のコードでは、

File.OpenText

メソッドを使用してファイルを開き、

StreamReader

を使用してテキストを読み込んでいます。

3. ファイルやディレクトリの操作

ファイルやディレクトリの操作方法を説明します。以下は、ファイルの移動と削除の例です。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourceFile = @"C:\source.txt";
        string destinationFile = @"D:\destination.txt";

        // ファイルの移動
        File.Move(sourceFile, destinationFile);

        // ファイルの削除
        File.Delete(destinationFile);
    }
}

上記のコードでは、

File.Move

メソッドを使用してファイルを移動し、

File.Delete

メソッドを使用してファイルを削除しています。

4. 例外処理

ファイル操作時の例外処理の重要性と具体的な方法を説明します。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\nonexistent.txt";
        try
        {
            using (StreamReader reader = File.OpenText(path))
            {
                string text = reader.ReadToEnd();
                Console.WriteLine(text);
            }
        }
        catch (FileNotFoundException ex)
        {
            Console.WriteLine("File not found: " + ex.Message);
        }
        catch (Exception ex)
        {
            Console.WriteLine("An error occurred: " + ex.Message);
        }
    }
}

上記のコードでは、

File.OpenText

でファイルを開く際に

FileNotFoundException

が発生する可能性があるため、それに対応した例外処理を行っています。

5. ストリームを使用した高度なファイル操作

ストリームを使用してバイナリファイルの読み書きを行う方法を説明します。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\binary.bin";
        byte[] data = { 0x48, 0x65, 0x6C, 0x6C, 0x6F }; // "Hello" のバイナリ表現

        using (FileStream fileStream = new FileStream(path, FileMode.Create))
        {
            fileStream.Write(data, 0, data.Length);
        }

        using (FileStream fileStream = new FileStream(path, FileMode.Open))
        {
            byte[] buffer = new byte[5];
            fileStream.Read(buffer, 0, buffer.Length);
            string text = System.Text.Encoding.Default.GetString(buffer);
            Console.WriteLine(text);
        }
    }
}

上記のコードでは、

FileStream

を使用してバイナリファイルにデータを書き込み、読み込んでいます。

まとめ

この記事では、C#を使用してファイル操作を行う基本的な方法から応用的なテクニックまでを解説しました。ファイルの作成、書き込み、読み込み、移動、削除などの基本操作に加えて、例外処理やストリームを使用した高度な操作についても理解しました。ファイル操作はプログラミングにおいて欠かせないスキルであり、これらの知識を活用して効果的なファイル処理を行えるようになりましょう。

よくある質問

  • Q. C#でファイルを作成する方法は?
  • A: C#でファイルを作成するには、
    File.Create

    メソッドを使用します。例えば、

    File.Create(@"C:\example.txt");

    とすることで、

    example.txt

    というファイルが作成されます。

  • Q. ファイルの読み込み方法を教えてください。
  • A: ファイルの読み込みには、
    File.ReadAllText

    メソッドを使用します。例えば、

    string content = File.ReadAllText(@"C:\example.txt");

    とすることで、

    example.txt

    の内容を文字列として取得できます。

  • Q. ファイルの書き込み方法を教えてください。
  • A: ファイルに書き込むには、
    File.WriteAllText

    メソッドを使用します。例えば、

    File.WriteAllText(@"C:\example.txt", "書き込む内容");

    とすることで、

    example.txt

    に指定した内容を書き込むことができます。

  • Q. ファイルの移動や名前の変更はどうすればいいですか?
  • A: ファイルの移動や名前の変更には、
    File.Move

    メソッドを使用します。例えば、

    File.Move(@"C:\oldfile.txt", @"D:\newfile.txt");

    とすることで、

    oldfile.txt

    newfile.txt

    に移動または名前変更することができます。

  • Q. ファイルの削除方法を知りたいです。
  • A: ファイルを削除するには、
    File.Delete

    メソッドを使用します。例えば、

    File.Delete(@"C:\example.txt");

    とするこで、

    example.txt

    を削除することができます。

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x