Я пытаюсь написать и прочитать двоичный файл в WinForm. Я думал, что сделал это, но когда я пытаюсь прочитать файл, я получаю только новый номер, который был записан в файл (случайные числа сгенерированы каждые 5 секунд), этот файл не сохраняет предыдущие цифры. то, что я сделал:Почему я не могу написать двоичный файл?
private void timer1_Tick(object sender, EventArgs e)
{
string path = @"C:\Test\test.dat";
lbl1.Text = string.Format("{0:0.0}", -6 + rand.NextDouble() * 17);
double temp = Convert.ToDouble(lbl1.Text);
try
{
if (!File.Exists(path))
{
lock (sync)
{
FileStream outf = new FileStream(path, FileMode.CreateNew, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(outf);
bw.Write(temp);
bw.Close();
}
}
else if (File.Exists(path))
{
lock (synk)
{
FileStream outf1 = new FileStream(path, FileMode.Create, FileAccess.Write);
BinaryWriter bw1 = new BinaryWriter(outf1);
bw1.Write(temp);
bw1.Flush();
bw1.Close();
}
}
}
catch (System.IO.FileNotFoundException ioe)
{
MessageBox.Show(ioe.Message);
}
Что я делаю неправильно? Есть ли кто-нибудь, кто может мне помочь? Заранее спасибо.
Почему флеш-метод? – Steve
Я получаю тот же результат. Постоянно только последнее число. – Steve
@Steve, потому что это было в исходном коде. Я просто удалил посторонний блок if. –