C# でのファイル処理: I/O Operaオプション [例]

⚡ スマートサマリー

C# のファイル操作では、System.IO 名前空間を使用してファイルの読み取り、書き込み、コピー、削除を行うことができます。ここでは、File.Exists、File.ReadAllLines、File.ReadAllText、File.Copy、File.Delete の使用方法を、分かりやすいコード例とともに学習します。

  • 📂 それは何ですか: C# のファイル操作では、System.IO 名前空間を介してファイルの読み取り、書き込み、コピー、削除を行います。
  • ファイルが存在する: File.Exists(path) は、ファイルを読み取ったり削除したりする前に、ファイルが存在するかどうかを確認します。
  • ???? 読書: File.ReadAllLines は文字列配列を返しますが、File.ReadAllText はファイル全体を 1 つの文字列として返します。
  • ???? コピー&削除: File.Copyはファイルを新しいパスに複製し、File.Deleteはファイルを削除します。
  • 🤖 AIによる支援: GitHub CopilotのようなAIツールは、C#のファイル処理コードを瞬時に生成します。

C#ファイル Operaン

C# には、さまざまなファイル操作があります。これらの操作には、ファイルを開く、ファイルの読み取りまたは書き込みが含まれます。ファイルを直接操作したい場合もありますが、その場合は C# で使用できるファイル操作を使用します。基本的なファイル操作のいくつかを次に示します。

  1. 読み取り – この操作は、ファイルからデータを読み取る基本的な読み取り操作です。
  2. 書き込み – この操作は、データがファイルに書き込まれる基本的な書き込み操作です。デフォルトでは、ファイルから既存のコンテンツがすべて削除され、新しいコンテンツが書き込まれます。
  3. 追加 – この操作でも、ファイルに情報を書き込むことになります。唯一の違いは、ファイル内の既存のデータは上書きされないことです。書き込まれる新しいデータは、ファイルの末尾に追加されます。

基本的な I/O コマンド

C# と .Net は、いくつかのファイル I/O コマンドを使用してファイルを操作できます。 これらのコマンドのいくつかを見てみましょう。 この例では、D ドライブに Example.txt というファイルがあると仮定します。
ファイルは単純なテキスト ファイルで、以下に示すように 2 行で構成されます。

  • Guru99 – .Net
  • Guru99 -C#

この例では、単純なコンソール アプリケーションを作成し、ファイル I/O コマンドを使用します。 コンソール アプリケーションは、前のチュートリアルで作成した基本的なアプリケーションです。 コンソール アプリケーションでは、すべてのコードがprogram.cs ファイルに書き込まれます。

ファイルが存在しています

ファイルが存在するメソッドは、特定のファイルが存在するかどうかを確認するために使用されます。 それでは、Example.txt ファイルが存在するかどうかを確認するために使用できるコードを見てみましょう。 以下のコードをprogram.csファイルに入力します。

ファイルが存在しています

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";
   
   if (File.Exists(path))
   {
    Console.WriteLine("File Exists");
   }
   Console.ReadKey();
  }
 }
}

Code 説明:-

  1. まず、文字列変数に Example.txt ファイルへのパスを設定します。
  2. 次に、File.Exists メソッドを使用して、ファイルが存在するかどうかを確認します。 ファイルが存在する場合は true 値が返されます。
  3. true 値が得られ、ファイルが存在する場合は、「ファイルが存在します」というメッセージをコンソールに書き込みます。

上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。

出力:-

ファイルが存在しています

上記の出力から、File.Exists コマンドが正常に実行され、コンソール ウィンドウに正しいメッセージが表示されたことがわかります。

File.ReadAlllines

このメソッドは、ファイル内のすべての行を XNUMX つずつ読み取るために使用されます。 次に、行は文字列配列変数に保存されます。 例を見てみましょう。 以下のコードをprogram.csファイルに入力します。

File.ReadAlllines

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";

   String[] lines;
   lines = File.ReadAllLines(path);

   Console.WriteLine(lines[0]);
   Console.WriteLine(lines[1]);

   Console.ReadKey();
  }
 }
}

Code 説明:-

  1. まず、文字列配列変数を宣言します。 これは、File.ReadAllLines メソッドによって返される結果を保存するために使用されます。
  2. 次に、File.ReadAllLines メソッドを使用して、テキスト ファイルからすべての行を読み取ります。 結果は、lines 変数に渡されます。
  3. ファイルには 2 行しか含まれていないことがわかっているため、lines[0] および lines[1] コマンドを使用して配列変数の値にアクセスできます。

上記のコードを設定し、プロジェクトを実行すると、 Visual Studioの、以下の出力が得られます。

出力:-

File.ReadAlllines

出力から、File.ReadAllLines コマンドがファイル Example.txt の両方の行を返したことがわかります。

ファイル.ReadAllText

このメソッドは、ファイル内のすべての行を一度に読み取るために使用されます。 次に、行は文字列変数に保存されます。 例を見てみましょう。 以下のコードをprogram.csファイルに入力します。

ファイル.ReadAllText

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
    String path = @"D:\Example.txt";

    String lines;
    lines = File.ReadAllText(path);
    Console.WriteLine(lines);
 
    Console.ReadKey();
   }
  }
}

Code 説明:-

  1. まず、Lines という文字列変数を宣言します。 これは、File.ReadAllText メソッドによって返される結果を保存するために使用されます。
  2. 次に、File.ReadAllText メソッドを使用して、テキスト ファイルからすべての行を読み取ります。 結果は、lines 変数に渡されます。
  3. Console.Writeline メソッドを直接使用して、Lines 変数の値を表示できます。

上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。

出力:-

ファイル.ReadAllText

出力から、File.ReadAlltext コマンドがファイル Example.txt の両方の行を返したことがわかります。

ファイル.コピー

このメソッドは、既存のファイルのコピーを作成するために使用されます。 例を見てみましょう。 以下のコードをprogram.csファイルに入力します。

ファイル.コピー

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   String copypath = @"D:\ExampleNew.txt";

   File.Copy(path,copypath);

   Console.ReadKey();
   }
  }
}

Code 説明:-

  1. まず、path という文字列変数を宣言します。これは、Example.txt ファイルの場所です。このファイルは、コピー操作に使用されるソース ファイルになります。
  2. 次に、copypath という文字列変数を宣言します。 これは、ExampleNew.txt ファイルという新しいファイルの場所になります。 これは、ソース ファイル Example.txt の内容が書き込まれる宛先ファイルになります。
  3. 次に、File.Copy メソッドを呼び出して、ファイル Example.txt をファイル ExampleNew.txt にコピーします。

上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、ファイル Example.txt が ExampleNew.txt にコピーされます。

ファイル.削除

このメソッドは、既存のファイルを削除するために使用されます。 例を見てみましょう。 以下のコードをprogram.csファイルに入力します。

ファイル.削除

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   File.Delete(path);

   Console.ReadKey();
   }
  }
}

Code 説明:-

  1. まず、path という文字列変数を宣言します。 これが Example.txt ファイルの場所になります。 これは削除されるファイルです。
  2. 次に、File.Delete メソッドを呼び出してファイルを削除します。

上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、D ドライブから Example.txt ファイルが削除されます。

C# ファイルメソッドリファレンス

以下の表は、主なC#ファイルメソッドとそのそれぞれの機能をまとめたものです。

ファイルメソッド 詳細説明
ファイルが存在しています ファイル存在メソッドは、特定のファイルが存在するかどうかを確認するために使用されます。
File.ReadAlllines このメソッドは、ファイル内のすべての行を XNUMX つずつ読み取るために使用されます。
ファイル.ReadAllText このメソッドは、ファイル内のすべての行を一度に読み取るために使用されます。
ファイル.コピー このメソッドは、既存のファイルのコピーを作成するために使用されます。
ファイル.削除 このメソッドは、既存のファイルを削除するために使用されます。

よくあるご質問

C# のファイル操作では、ファイルの読み取り、書き込み、コピー、追記、削除を行うことができます。ほとんどのメソッドは System.IO.File クラスに属しており、File.Exists、File.ReadAllText、File.Copy、File.Delete などがあります。

ファイルが存在する場合は true を、存在しない場合は false を返す File.Exists(path) を使用してください。実行時例外を回避するため、ファイルの読み取りまたは削除を行う前に必ず確認してください。

File.ReadAllLines は各行を文字列配列の要素として返しますが、File.ReadAllText はファイルの内容全体を単一の文字列として返します。

File.Copy(sourcePath, destinationPath) を呼び出します。これにより、ソースファイルの内容を含む新しいファイルが宛先に作成されます。

File.Delete(path) を呼び出してください。このメソッドはファイルを完全に削除するため、FileNotFoundException が発生しないように、事前に File.Exists でファイルが存在することを確認してください。

GitHub CopilotのようなAIアシスタントは、File.ReadAllText、File.Copy、File.Deleteの呼び出しを自動補完し、タスクを説明する短いコメントからtry-catch形式のファイル処理コードを生成します。

はい。AI搭載ツールは、リーダーとライターのメソッドを生成し、StreamReaderやFileメソッドを提案し、例外処理を追加することで、コードの安全性を高めます。

プログラムの先頭に `using System.IO;` を追加してください。System.IO 名前空間には、File、StreamReader、および Stream が含まれています。Writer ファイル処理に使用されるクラス。