ファイルの読み書き
C#を使ってファイルを作成、読み込み、書き込みする方法を学びます
「ファイルの読み書き」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン1/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全5レッスンが含まれています。
ファイル I/O 入門
ファイルの読み取りと書き込み
「ファイルとデータの操作」カテゴリの最初のレッスンへようこそ!このレッスンでは、C#でファイルを読み書きする方法を学び、テキストファイルにデータを保存・取得できるようになります。それでは始めましょう!

ファイルを扱う理由
ファイルを扱う理由
ファイルを使うとプログラムのデータを永続化できるため、アプリケーションを終了した後もデータを利用できます。ユーザーデータ、ログ、設定などを保存するため、ファイル操作は開発者にとって重要なスキルです。
重要ポイント:C#には、ファイル操作を扱うためのFile、StreamReader、StreamWriterなどの組み込みクラスが用意されています。
ファイルの読み取り
ファイルの読み取り
ファイルの内容を読み取るには、小さなファイルにはFile.ReadAllText()メソッドを、大きなファイルにはStreamReaderを使用します。例:
重要ポイント:読み取りを試みる前に、ファイルが存在するか必ず確認してください。
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.txt";
// Reading a file using File.ReadAllText()
if (File.Exists(filePath)) {
string content = File.ReadAllText(filePath);
Console.WriteLine("File Content:");
Console.WriteLine(content);
} else {
Console.WriteLine("File does not exist.");
}
}
}
ファイルへの書き込み
ファイルへの書き込み
ファイルにデータを書き込むには、小さなファイルにはFile.WriteAllText()メソッドを、より細かく制御する場合はStreamWriterを使用します。例:
ヒント:既存のファイルを上書きせずにデータを追加するには、File.AppendAllText()を使用します。
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "output.txt";
string content = "Hello, this is a test file.";
// Writing to a file using File.WriteAllText()
File.WriteAllText(filePath, content);
Console.WriteLine("File written successfully.");
}
}
ファイルを1行ずつ読み取る
ファイルを1行ずつ読み取る
大きなファイルの場合は、StreamReaderを使って1行ずつ読み取るほうが効率的です。例:
重要ポイント:読み取り後にファイルが適切に閉じられるよう、usingステートメントを使用します。
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.txt";
// Reading a file line by line using StreamReader
if (File.Exists(filePath)) {
using (StreamReader reader = new StreamReader(filePath)) {
string line;
while ((line = reader.ReadLine()) != null) {
Console.WriteLine(line);
}
}
} else {
Console.WriteLine("File does not exist.");
}
}
}
ファイルへのデータの追加
ファイルへのデータの追加
既存のファイルにデータを追加するには、File.AppendAllText()を使用するか、appendフラグをtrueに設定したStreamWriterを使用します。例:
ヒント:適切な改行を確保するには、Environment.NewLineを使用します。
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "output.txt";
string newContent = "This line will be appended.";
// Appending data to a file
File.AppendAllText(filePath, newContent + Environment.NewLine);
Console.WriteLine("Data appended successfully.");
}
}
練習課題
練習課題
ユーザーが入力した名前のリストをファイルに書き込み、その後ファイルを読み取って名前を表示するプログラムを作成してください。例:
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "names.txt";
// Writing user-entered names to a file
Console.WriteLine("Enter names (type 'exit' to stop):");
using (StreamWriter writer = new StreamWriter(filePath)) {
string name;
while ((name = Console.ReadLine()) != "exit") {
writer.WriteLine(name);
}
}
// Reading the file
Console.WriteLine("\nNames in the file:");
using (StreamReader reader = new StreamReader(filePath)) {
string line;
while ((line = reader.ReadLine()) != null) {
Console.WriteLine(line);
}
}
}
}
ファイル操作のベストプラクティス
ファイル操作のベストプラクティス
次に、いくつかのベストプラクティスを示します。
- ファイルを読み取ったり、データを追加したりする前に、ファイルが存在するか必ず確認します。
- ファイルストリームを自動的に閉じるには、
usingステートメントを使用します。 - 存在しないファイルやロックされたファイルを扱う際にクラッシュしないよう、例外を処理します。
ヒント:適切なファイル操作により、堅牢でエラーのないプログラムを実現できます。
ファイル入出力の復習
よくできました!
おめでとうございます!C# でファイルを読み書きする方法を学びました。次のレッスンでは、JSON と XML のデータ形式の扱い方を学びます。引き続きコーディングしましょう!

よくある質問
「ファイルの読み書き」レッスンは無料ですか?
はい。「ファイルの読み書き」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全5レッスンが含まれています。
「ファイルの読み書き」で何を学びますか?
C#を使ってファイルを作成、読み込み、書き込みする方法を学びます ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/5です。
「ファイルの読み書き」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。