Я пытаюсь написать приложение, которое сохраняет информацию в двоичном файле и может открыть этот файл и прочитать упомянутую информацию.Однако проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я открываю файл .bin, массивы и последующие текстовые поля заполняются "System.String []". Я не знаю, в чем проблема, но методы сохранения и открытия файланиже.Если кто-то может помочь, это будет высоко ценится.
Метод экономии
private void BtngameSave_Click(object sender, EventArgs e)
{
string FileName = "gamedata.dat";
SaveFileDialog SaveBinary = new SaveFileDialog();
DialogResult sr = SaveBinary.ShowDialog();
if (sr == DialogResult.OK)
{
FileName = SaveBinary.FileName;
}
try
{
using (Stream stream = File.Open(FileName, FileMode.Create))
{
BinaryFormatter bin = new BinaryFormatter();
for (int i = 0; i < ptr; i++)
{
save[i] = gameQueueTitle[i] + " " + gameQueueGenre[i] + " " + gameQueuePlat[i];
bin.Serialize(stream, save);
}
MessageBox.Show("File saved");
}
}
catch (IOException)
{
MessageBox.Show("The Save Binary Stream did not work");
}
}
Метод открытия
private void BtngameOpen_Click(object sender, EventArgs e)
{
string FileName = "gamedata.dat";
OpenFileDialog OpenBinary = new OpenFileDialog();
DialogResult sr = OpenBinary.ShowDialog();
if (sr == DialogResult.OK)
{
FileName = OpenBinary.FileName;
}
ptr = 0;
try
{
using (Stream stream = File.Open(FileName, FileMode.Open))
{
BinaryFormatter bin = new BinaryFormatter();
while (stream.Position < stream.Length)
{
string rec = bin.Deserialize(stream).ToString();
gameQueueTitle[ptr] = rec;
gameQueueGenre[ptr] = rec;
gameQueuePlat[ptr] = rec;
ptr++;
}
SortList();
DisList();
}
}
catch (IOException)
{
MessageBox.Show("Couldn't open the binary file");
}
}