C#のBinaryReaderクラスの基本的な使い方とサンプルコード
C#でストリームからバイナリデータを読み込みたい場合は、BinaryReaderクラスを使用します。このクラスは、System.IO名前空間に属しており、数値や文字列などのデータをバイナリ形式でファイルに書き込んだ内容を読み戻す際に非常に便利です。
BinaryReaderクラスとは
BinaryReaderは、FileStreamなどで開いたストリームから、プリミティブ型(double、int、boolなど)や文字列を指定されたエンコーディングで読み取るためのクラスです。読み取りにはReadDouble()、ReadString()、ReadInt32()といった専用メソッドを使います。
書き込みと読み込みのサンプルコード
以下は、BinaryWriterでファイルにデータを書き込み、BinaryReaderでその内容を読み込む例です。
static void WriteMe() {
using (BinaryWriter w = new BinaryWriter(File.Open("C:\\abc.txt", FileMode.Create))) {
w.Write(25.9);
w.Write("DEMO DATA");
}
}
static void ReadMe() {
using (BinaryReader r = new BinaryReader(File.Open("C:\\abc.txt", FileMode.Open))) {
Console.WriteLine("Value : " + r.ReadDouble());
Console.WriteLine("Value : " + r.ReadString());
}
}WriteMe()メソッドでは、FileMode.Createを指定して新規ファイルを作成し、double型の値「25.9」と文字列「DEMO DATA」を順に書き込んでいます。usingステートメントにより、処理終了後にリソースが自動的に解放されます。
一方、ReadMe()メソッドでは同じファイルをFileMode.Openで開き、書き込んだ順序どおりにReadDouble()とReadString()を呼び出してデータを読み取っています。このように、書き込み時と読み込み時でデータの順序と型を一致させることが重要なポイントです。
Mainメソッドからの呼び出し
上記のメソッドは、Main()メソッド内で次のように呼び出します。
static void Main(string[] args) {
WriteMe();
ReadMe();
Console.ReadKey();
}このプログラムを実行すると、コンソールに次のような結果が表示されます。
Value : 25.9 Value : DEMO DATA
まとめ
BinaryReaderクラスを使えば、バイナリ形式で保存されたデータを簡単かつ安全に読み取ることができます。特に、テキスト形式では扱いにくい数値データやカスタムフォーマットのファイルを処理する場合に活用するとよいでしょう。使用後は必ずストリームを閉じるため、usingステートメントの利用を推奨します。
-
Androidでシングルトンクラスを使う方法をサンプルコード付きで解説
シングルトンデザインパターンとは?実装例に入る前に、まず「シングルトンデザインパターン」についておさらいしておきましょう。シングルトン(Singleton)とは、あるクラスのインスタンス生成をアプリケーション全体で1つだけに制限するデザインパターンです。主な用途としては、同時実行(並行処理)の制御や、アプリケーションがデータストアへアクセスするための中心的なアクセスポイントの作成などが挙げられます。この記事では、Androidアプリでシングルトンクラスを実際に使う方法を、ステップごとのサンプルコードとともに解説します。手順1:新規プロジェクトを作成するAndroid StudioでFile →
-
AndroidのListViewでVectorクラスを使用する方法【初心者向け解説】
AndroidのListViewでVectorクラスを活用する方法 この記事では、AndroidアプリのListView(リストビュー)において、JavaのVectorクラスを使用してデータを管理・表示する方法を、実際のコード例とともに段階的に解説します。ユーザーが入力した名前をVectorに保存し、「保存」ボタンでリストに追加、「更新」ボタンでListViewを再描画するというシンプルなサンプルアプリを作成します。 手順1:新規プロジェクトを作成する まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を