C# でのファイル処理: I/O Operaオプション [例]
C# には、さまざまなファイル操作があります。これらの操作には、ファイルを開く、ファイルの読み取りまたは書き込みが含まれます。ファイルを直接操作したい場合もありますが、その場合は C# で使用できるファイル操作を使用します。基本的なファイル操作のいくつかを次に示します。
- 読み取り – この操作は、ファイルからデータを読み取る基本的な読み取り操作です。
- 書き込み – この操作は、データがファイルに書き込まれる基本的な書き込み操作です。デフォルトでは、ファイルから既存のコンテンツがすべて削除され、新しいコンテンツが書き込まれます。
- 追加 – この操作でも、ファイルに情報を書き込むことになります。唯一の違いは、ファイル内の既存のデータは上書きされないことです。書き込まれる新しいデータは、ファイルの末尾に追加されます。
基本的な 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(); } } }
コードの説明:-
- まず、文字列変数に Example.txt ファイルへのパスを設定します。
- 次に、File.Exists メソッドを使用して、ファイルが存在するかどうかを確認します。 ファイルが存在する場合は true 値が返されます。
- true 値が得られ、ファイルが存在する場合は、「ファイルが存在します」というメッセージをコンソールに書き込みます。
上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。
出力:-
上記の出力から、File.Exists コマンドが正常に実行され、コンソール ウィンドウに正しいメッセージが表示されたことがわかります。
File.ReadAlllines
このメソッドは、ファイル内のすべての行を XNUMX つずつ読み取るために使用されます。 次に、行は文字列配列変数に保存されます。 例を見てみましょう。 以下のコードを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"; String[] lines; lines = File.ReadAllLines(path); Console.WriteLine(lines[0]); Console.WriteLine(lines[1]); Console.ReadKey(); } } }
コードの説明:-
- まず、文字列配列変数を宣言します。 これは、File.ReadAllLines メソッドによって返される結果を保存するために使用されます。
- 次に、File.ReadAllLines メソッドを使用して、テキスト ファイルからすべての行を読み取ります。 結果は、lines 変数に渡されます。
- ファイルには 2 行しか含まれていないことがわかっているため、lines[0] および lines[1] コマンドを使用して配列変数の値にアクセスできます。
上記のコードを設定し、プロジェクトを実行すると、 Visual Studioの、以下の出力が得られます。
出力:-
出力から、File.ReadAllLines コマンドがファイル Example.txt の両方の行を返したことがわかります。
ファイル.ReadAllText
このメソッドは、ファイル内のすべての行を一度に読み取るために使用されます。 次に、行は文字列変数に保存されます。 例を見てみましょう。 以下のコードを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"; String lines; lines = File.ReadAllText(path); Console.WriteLine(lines); Console.ReadKey(); } } }
コードの説明:-
- まず、Lines という文字列変数を宣言します。 これは、File.ReadAllText メソッドによって返される結果を保存するために使用されます。
- 次に、File.ReadAllText メソッドを使用して、テキスト ファイルからすべての行を読み取ります。 結果は、lines 変数に渡されます。
- Console.Writeline メソッドを直接使用して、Lines 変数の値を表示できます。
上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。
出力:-
出力から、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(); } } }
コードの説明:-
- まず、path という文字列変数を宣言します。これは、Example.txt ファイルの場所です。このファイルは、コピー操作に使用されるソース ファイルになります。
- 次に、copypath という文字列変数を宣言します。 これは、ExampleNew.txt ファイルという新しいファイルの場所になります。 これは、ソース ファイル Example.txt の内容が書き込まれる宛先ファイルになります。
- 次に、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(); } } }
コードの説明:-
- まず、path という文字列変数を宣言します。 これが Example.txt ファイルの場所になります。 これは削除されるファイルです。
- 次に、File.Delete メソッドを呼び出してファイルを削除します。
上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、D ドライブから Example.txt ファイルが削除されます。
まとめ
- C# には、ファイルに対して実行できるファイル操作が多数あります。これらの操作のほとんどは、File クラスの一部です。
- ファイルからデータを読み取る場合は、File.ReadAlltext メソッドまたは File.ReadAllLines メソッドを使用できます。
ファイルメソッド | Description |
---|---|
ファイルが存在しています | ファイル存在メソッドは、特定のファイルが存在するかどうかを確認するために使用されます。 |
File.ReadAlllines | このメソッドは、ファイル内のすべての行を XNUMX つずつ読み取るために使用されます。 |
ファイル.ReadAllText | このメソッドは、ファイル内のすべての行を一度に読み取るために使用されます。 |
ファイル.コピー | このメソッドは、既存のファイルのコピーを作成するために使用されます。 |
ファイル.削除 | このメソッドは、既存のファイルを削除するために使用されます。 |