PR

【C#】ファイル操作の基本(作成・削除・書込・読込etc)を押さえる!

【C#】
広告

はじめに

C#は強力で柔軟なプログラミング言語であり、さまざまなファイル操作を簡単に行うことができます。ファイルの作成、削除、書き込み、読み込みなどの基本操作は、アプリケーション開発において非常に重要です。本記事では、C#での基本的なファイル操作について詳しく説明します。初心者でも理解しやすいように、具体的なコード例を交えて解説しますので、ぜひ参考にしてください。

ファイルの作成

ファイルを作成する方法は簡単で、System.IO名前空間にあるFileクラスを使用します。以下に、テキストファイルを作成する基本的なコード例を示します。

ファイルの作成方法

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\example\myfile.txt";
        if (!File.Exists(path))
        {
            File.Create(path).Close();
            Console.WriteLine("ファイルが作成されました。");
        }
        else
        {
            Console.WriteLine("ファイルは既に存在します。");
        }
    }
}

このコードは、指定されたパスにファイルが存在しない場合、新しいファイルを作成します。File.Createメソッドは、作成したファイルを表すFileStreamオブジェクトを返します。ファイルが使用中でない場合は、Closeメソッドを呼び出して閉じます。

ファイルの存在確認

ファイルの存在を確認するために、File.Existsメソッドを使用します。これは、指定したパスにファイルが存在するかどうかをブール値で返します。ファイルの存在を確認することは、ファイル操作の安全性を確保するために重要です。

ファイルへの書き込み

ファイルにデータを書き込む方法も非常に簡単です。StreamWriterクラスを使用して、テキストデータをファイルに書き込むことができます。

テキストデータの書き込み

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\example\myfile.txt";
        using (StreamWriter writer = new StreamWriter(path, append: true))
        {
            writer.WriteLine("これはテストメッセージです。");
            writer.WriteLine("複数行のデータを書き込むことができます。");
        }
        Console.WriteLine("データが書き込まれました。");
    }
}

このコードでは、StreamWriterを使用して指定されたファイルにテキストデータを書き込みます。appendパラメーターをtrueに設定すると、既存の内容にデータを追加します。falseに設定すると、既存のデータを上書きします。

バイナリデータの書き込み

バイナリデータを書き込むには、BinaryWriterクラスを使用します。以下は、バイナリデータを書き込む例です。

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\example\mybinaryfile.dat";
        using (FileStream fs = new FileStream(path, FileMode.Create))
        using (BinaryWriter writer = new BinaryWriter(fs))
        {
            writer.Write(1234); // 整数データを書き込み
            writer.Write("Hello, World!"); // 文字列データを書き込み
        }
        Console.WriteLine("バイナリデータが書き込まれました。");
    }
}

ファイルの読み込み

ファイルからデータを読み込むには、StreamReaderBinaryReaderクラスを使用します。以下に、テキストファイルとバイナリファイルの読み込み方法を示します。

テキストデータの読み込み

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\example\myfile.txt";
        using (StreamReader reader = new StreamReader(path))
        {
            string content = reader.ReadToEnd();
            Console.WriteLine("ファイルの内容:");
            Console.WriteLine(content);
        }
    }
}

このコードでは、StreamReaderを使用してファイルの内容を文字列として読み込みます。ReadToEndメソッドは、ファイル全体を一度に読み込むのに便利です。

バイナリデータの読み込み

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\example\mybinaryfile.dat";
        using (FileStream fs = new FileStream(path, FileMode.Open))
        using (BinaryReader reader = new BinaryReader(fs))
        {
            int intValue = reader.ReadInt32(); // 整数データを読み込み
            string stringValue = reader.ReadString(); // 文字列データを読み込み
            Console.WriteLine("整数値: " + intValue);
            Console.WriteLine("文字列: " + stringValue);
        }
    }
}

ファイルの削除

不要になったファイルを削除するには、File.Deleteメソッドを使用します。このメソッドは、指定されたパスのファイルを削除します。

ファイルの削除方法

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\example\myfile.txt";
        if (File.Exists(path))
        {
            File.Delete(path);
            Console.WriteLine("ファイルが削除されました。");
        }
        else
        {
            Console.WriteLine("ファイルが存在しません。");
        }
    }
}

このコードでは、ファイルの存在を確認し、存在する場合に削除します。ファイルが存在しない場合、削除操作は実行されません。

ファイル情報の取得

ファイルに関する情報を取得するには、FileInfoクラスを使用します。このクラスは、ファイルのサイズ、作成日時、最終アクセス日時などの詳細情報を提供します。

ファイル情報の取得方法

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = @"C:\example\myfile.txt";
        FileInfo fileInfo = new FileInfo(path);
        if (fileInfo.Exists)
        {
            Console.WriteLine("ファイル名: " + fileInfo.Name);
            Console.WriteLine("ファイルサイズ: " + fileInfo.Length + " バイト");
            Console.WriteLine("作成日時: " + fileInfo.CreationTime);
            Console.WriteLine("最終アクセス日時: " + fileInfo.LastAccessTime);
        }
        else
        {
            Console.WriteLine("ファイルが存在しません。");
        }
    }
}

このコードでは、FileInfoオブジェクトを使用してファイルの詳細情報を取得します。ファイルが存在する場合、名前、サイズ、作成日時、最終アクセス日時などの情報を表示します。

ファイルの移動とコピー

ファイルを移動またはコピーするには、File.MoveおよびFile.Copyメソッドを使用します。

ファイルの移動

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourcePath = @"C:\example\myfile.txt";
        string destinationPath = @"C:\example\newfolder\myfile.txt";
        if (File.Exists(sourcePath))
        {
            File.Move(sourcePath, destinationPath);
            Console.WriteLine("ファイルが移動されました。");
        }
        else
        {
            Console.WriteLine("移動元のファイルが存在しません。");
        }
    }
}

ファイルのコピー

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourcePath = @"C:\example\myfile.txt";
        string destinationPath = @"C:\example\myfile_copy.txt";
        if (File.Exists(sourcePath))
        {
            File.Copy(sourcePath, destinationPath, overwrite: true);
            Console.WriteLine("ファイルがコピーされました。");
        }
        else
        {
            Console.WriteLine("コピー元のファイルが存在しません。");
        }
    }
}

まとめ

本記事では、C#におけるファイル操作の基本について解説しました。ファイルの作成、削除、書き込み、読み込み、情報の取得、移動、コピーなど、さまざまな操作方法を具体的なコード例を交えて説明しました。これらの基本操作をマスターすることで、より効率的にC#でのファイル操作を行うことができるでしょう。ファイル操作は多くのアプリケーションで必要となる基本的なスキルですので、ぜひ今回の記事を参考に実践してみてください。

広告
【C#】
広告
タイトルとURLをコピーしました