【发布时间】:2011-09-04 12:06:09
【问题描述】:
在我的程序中,我实现了代理支持。
我设置了一个带有复选框的 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();
【问题讨论】:
-
您的代码中存在一些问题(
listBox4.SelectedItem.ToString()没有做任何事情,您应该使用using关闭流而不是手动调用Dispose()),但没有什么会导致你描述的错误。哪一行抛出异常?文件真的存在吗?您可以发布异常的完整堆栈跟踪吗? -
当你说“给我一些错误”时,你是什么意思?它会引发异常吗?您是否查看过调用堆栈以验证哪一行代码引发了该异常? (你在传递什么?)否则我的精神力量告诉我“website.txt”不在当前工作目录中(你应该使用文件名的完整路径)或其他一些代码行文件io 正在抛出该异常。
-
listbox4.SelectedItem.ToString () 基本上是获取列表框中的项目并将其用于代理。如果我首先检查代理复选框,它不是导致错误的特定行,它是所有流阅读器。确切的错误是:未处理 FileNotFoundException。我想我有一个很好的预感是什么导致了这个问题。当我检查代理复选框时,它在我的文档中而不是在程序文件夹中,当我不检查它时,它在程序文件夹中。我该如何解决这个问题?
-
尝试解决此问题的第一步是充分了解您的代码以发布示例,这些示例首先正确描述了问题,然后以某种方式连接。我根本无法判断“您拥有的几个流阅读器之一的代码”与第一个代码示例的连接位置。此外,如果我们看不到您的文件 IO 代码的外观,也无法告诉您如何解决文件夹问题。这就像在不给我们 x 的值的情况下问 x * 243 等于多少 ...
-
我发现这是我放入线程的第一部分代码导致了问题。
标签: c# proxy httpwebrequest streamreader