Проблема с оператором if / then и потоковым читателем - PullRequest
0 голосов
/ 04 сентября 2011

В моей программе реализована поддержка прокси.

Я установил оператор if / then с флажком, поэтому в основном он говорит, что если флажок установлен, активируйте прокси и используйте прокси, которые пользователь загрузил в список.

У меня также есть несколько потоковых ридеров, настроенных в моем коде, которые импортируют текст текстового файла в текстовое поле. Когда я пытаюсь создать прокси-сервер и импортировать текстовый файл, появляется сообщение об ошибке, в котором говорится, что файл не найден, но если я не установил флажок для использования прокси, он импортирует его просто отлично.

Это код для флажка:

if (chkBoxProxy.Checked)
{
    if (listBox1.SelectedIndex < listBox1.Items.Count - 1)
    {
        listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
        listBox1.SetSelected(listBox1.SelectedIndex, true);
        RefreshIESettings(listBox1.SelectedItem.ToString());

        for (int i = 0; i < numericUpDown2.Value; i++)
        {
            listBox4.SetSelected(i, true);
            listBox4.SelectedItem.ToString();

           account();
        }
    }
}
else
{
    for (int i = 0; i < numericUpDown2.Value; i++)
    {
        listBox4.SetSelected(i, true);
        listBox4.SelectedItem.ToString();

        account();
    }
}

И вот код для одного из нескольких моих потоковых ридеров:

StreamReader stream1 = new StreamReader("website.txt");
string stream2 = stream1.ReadToEnd();
txtBoxImportWebsite.Text = stream2;

stream1.Close();
stream1.Dispose();

1 Ответ

0 голосов
/ 04 сентября 2011

Если ваш код недостаточно полный, мы должны точно видеть все места, откуда вы вызываете управление потоком. Откуда / что файл website.txt создан? почему вы не указываете полный путь при его открытии?

Как правило, вы должны обернуть свои потоки, используя так близко, и dispose вызывается автоматически при использовании конца блока, а также в случае исключений, вы можете переписать свой последний фрагмент следующим образом:

using (var stream1 = new StreamReader("website.txt"))
{
  txtBoxImportWebsite.Text = stream1.ReadToEnd();
}
...