バイナリファイルDOSで表示するプログラムはあるんですが、テキストボックスに表示させるプログラムができません。
デバッグ開始をしてBotton1をクリックすると下の出力欄にMIDIのバイナリデータは表示されますが、テキストボックスにはバイナリファイルの最初の20文字程度が文字化けして表示されます。
name space以下のプログラムです。
どなたか教えていただけますか?
public partial class Form1 : Form
{
private void AppendMessage(string w)
{
this.textBox1.AppendText(w);
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// バイナリ形式でファイルに書き出し。
using (BinaryWriter w = new BinaryWriter(File.OpenWrite(@"ff4街.mid")))
{
w.Write(new byte[] { (byte)0x01, (byte)0x23, (byte)0x45, (byte)0x67, });
w.Write((int)123456789);
w.Write((float)3.14159);
}
// 1バイトずつ読み出し。
using (BinaryReader w = new BinaryReader(File.OpenRead(@"ff4街.mid")))
{
try
{
//ファイル読み込み
textBox1.Text = File.ReadAllText(@"ff4街.mid",Encoding.Default);
for (;;)
Console.Write("{0:x2}", w.ReadByte());
}
catch (Exception)
{
Console.Write("\n");
}
}
// 書き出したときと同じ手順で読み出し。
using (BinaryReader w = new BinaryReader(File.OpenRead(@"FF.mid")))
{
Console.Write("{0:x2}, ", w.ReadByte());
Console.Write("{0:x2}, ", w.ReadByte());
Console.Write("{0:x2}, ", w.ReadByte());
Console.Write("{0:x}\n", w.ReadByte());
Console.Write("{0:d}\n", w.ReadInt32());
Console.Write("{0:g}\n", w.ReadSingle());
}
}
}
}
すいません、書き込む場所を間違えました。
編集 削除