C#ファイル操作実践ガイド:存在確認、読み書き、コピー、削除
C#ファイル操作実践ガイド
C#と.NETでは、ファイル操作は一般的な要件です。ファイルの存在確認、内容読み取り、ファイルコピー管理など、System.IO.Fileクラスはシンプルでスレッドセーフなメソッドを提供します。以下にベストプラクティスとMicrosoft公式ガイダンスに従った簡潔な説明とサンプルコードを示します。
基本的なファイルアクション
- 読み取り - 既存ファイルからデータを取得。
- 書き込み - ファイル全体を新しい内容で上書き(デフォルト動作)。
- 追記 - 既存コンテンツを削除せずにファイル末尾にデータを追加。
カバーする主要メソッド
File.Exists- ファイルの存在確認。File.ReadAllLines- 全行を文字列配列として読み込み。File.ReadAllText- ファイル全体を単一文字列として読み込み。File.Copy- ファイルを新しい場所に複製。File.Delete- ファイルをファイルシステムから削除。
前提条件
すべての例では、以下の2行を含むテキストファイルD:\Example.txtが存在すると仮定:
Guru99 - .Net Guru99 - C#
1. ファイル存在確認 - File.Exists
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
if (File.Exists(path)) {
Console.WriteLine("File Exists");
} else {
Console.WriteLine("File Not Found");
}
Console.ReadKey();
}
}
}
D:\Example.txtが存在する場合、プログラムはFile Existsを出力します。
2. 行ごとの読み取り - File.ReadAllLines
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
string[] lines = File.ReadAllLines(path);
foreach (var line in lines) {
Console.WriteLine(line);
}
Console.ReadKey();
}
}
}
ファイルの各行がコンソールの別行に出力されます。
3. ファイル全体の読み取り - File.ReadAllText
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
string content = File.ReadAllText(path);
Console.WriteLine(content);
Console.ReadKey();
}
}
}
コンソールに両行が改行付きで連結表示されます。
4. ファイルのコピー - File.Copy
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string source = "D:\\Example.txt";
string destination = "D:\\ExampleNew.txt";
File.Copy(source, destination, overwrite: true);
Console.WriteLine("Copy succeeded");
Console.ReadKey();
}
}
}
新しいファイルD:\ExampleNew.txtにExample.txtの完全なコピーが作成されます。
5. ファイルの削除 - File.Delete
using System;
using System.IO;
namespace DemoApplication {
class Tutorial {
static void Main(string[] args) {
string path = "D:\\Example.txt";
File.Delete(path);
Console.WriteLine("File deleted");
Console.ReadKey();
}
}
}
実行後、D:\Example.txtがDドライブから永久に削除されます。
まとめ
System.IO.Fileクラスが必須のファイルシステム操作を提供。File.ReadAllTextまたはFile.ReadAllLinesでファイルデータをアプリケーションに取り込み。- 本番コードでは
FileNotFoundExceptionやUnauthorizedAccessExceptionなどの例外を常に処理。
C言語
- Axiomtek IPS960-511-PoE:産業検査向けオールインワン堅牢ビジョン コントローラー
- C# usingステートメント完全ガイド:名前空間インポート、エイリアス、静的ディレクティブ
- C言語入出力(I/O)マスター:scanf()とprintf()徹底解説
- C言語 ファイル入出力: fopen, fprintf, fread, fseek をマスターする
- C言語ファイルI/O完全ガイド:作成、オープン、管理の実践
- C言語ヘッダーファイルの理解:種類、使い方、ベストプラクティス
- C言語エラーハンドリングのマスター:ベストプラクティスとテクニック
- C#の例外処理:try/catch/finally/throwとベストプラクティス
- C#ファイルI/O:Stream、FileStream、StreamReader/Writerによる読み書き
- PythonファイルI/O:ファイル操作、読み書き、管理のマスター
- PythonファイルI/O:入出力操作をマスターする