Working with Files
CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 26/66。
C# では、System.IO 名前空間のクラスを使用してファイルの操作ができます。テキストファイル用の主な 2 つのクラスは、読み取り用の StreamReader と書き込み用の StreamWriter です。
ファイルへの書き込み:
using System.IO;
// Create a StreamWriter to write to a file
StreamWriter writer = new StreamWriter("myfile.txt");
// Write text to the file
writer.WriteLine("Hello, World!");
writer.WriteLine("This is line 2");
// Close the file
writer.Close();ファイルからの読み込み:
using System.IO;
// Create a StreamReader to read from a file
StreamReader reader = new StreamReader("myfile.txt");
// Read all content from the file
string content = reader.ReadToEnd();
Console.WriteLine(content);
// Close the file
reader.Close();1行ずつ読み込む:
StreamReader reader = new StreamReader("myfile.txt");
// Read first line
string line1 = reader.ReadLine();
Console.WriteLine(line1);
// Read second line
string line2 = reader.ReadLine();
Console.WriteLine(line2);
reader.Close();作業が終わったら、常にファイルを Close() で閉じてください!
チャレンジ
簡単ReadFile という名前のメソッドを作成してください。このメソッドは:
- 1 つの文字列パラメータ
filenameを受け取ります StreamReaderを使用してファイルから内容を読み込みます- 内容をコンソールに出力します
- リーダーを閉じます
チートシート
System.IO 名前空間を使用してファイルの操作を行います。StreamWriter で書き込み、StreamReader で読み込みます。
ファイルへの書き込み:
StreamWriter writer = new StreamWriter("myfile.txt");
writer.WriteLine("Hello, World!");
writer.Close();ファイルからの読み込み:
StreamReader reader = new StreamReader("myfile.txt");
string content = reader.ReadToEnd();
Console.WriteLine(content);
reader.Close();行ごとの読み込み:
StreamReader reader = new StreamReader("myfile.txt");
string line = reader.ReadLine();
Console.WriteLine(line);
reader.Close();主なメソッド:
WriteLine(text)- ファイルに1行を書き込みReadToEnd()- ファイルからすべてのテキストを読み込みReadLine()- ファイルから1行を読み込みClose()- ファイルを閉じる(常に実行してください!)
自分で試してみよう
using System;
using System.IO;
class Program
{
public static void ReadFile(string filename)
{
// ここにコードを記述してください
}
static void Main(string[] args)
{
string filename = Console.ReadLine();
ReadFile(filename);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety