Как сохранить данные, загруженные из внешнего файла в программу? - PullRequest
0 голосов
/ 19 января 2012

На основании приведенной ниже функции он используется для загрузки данных из файла .dat.Проблема в том, что каждый раз, когда я загружаю новый файл, предыдущий файл будет перезаписан.как сохранить данные из предыдущего файла внутри программы, чтобы при загрузке нового файла новые данные были добавлены к предыдущему?

private void btnLoad_Click(object sender, EventArgs e)
{
    try
    {

        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.Filter = "Data File (*.dat)|*.dat";
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {

            TextReader f = new StreamReader(openFileDialog1.FileName);

            String line;

            this.letterData.Clear();
            this.letters.Items.Clear();

            while ((line = f.ReadLine()) != null)
            {
                int sampleSize = Form1.DOWNSAMPLE_HEIGHT * Form1.DOWNSAMPLE_WIDTH;
                char ch = char.ToUpper(line[0]);
                bool[] sample = new bool[sampleSize];

                int idx = 2;
                for (int i = 0; i < sampleSize; i++)
                {
                    if (line[idx++] == '1')
                        sample[i] = true;
                    else
                        sample[i] = false;
                }

                this.letterData.Add(ch, sample);
                this.letters.Items.Add("" + ch);
            }

            f.Close();
        }
        MessageBox.Show(this, "File Loaded");

    }
    catch (Exception ex)
    {
        MessageBox.Show("Error: " + ex.Message);
    }
}

1 Ответ

1 голос
/ 19 января 2012

Удалить следующие строки?

this.letterData.Clear();
this.letters.Items.Clear();

EDIT:

Или перейдите к следующему, чтобы в вашем словаре были уникальные ключи

this.letterData.Add(string.Format("{0}_{1}", openFileDialog1.FileName, ch), sample);
this.letters.Items.Add(ch.toString());
...