using (StreamReader sr = new StreamReader("gold.txt"))
{
text.Text = sr.ReadToEnd();
}
为什么我收到此错误?我只是创建了文本文件并尝试创建一个新的StreamReader来读取gold.txt。
答案 0 :(得分:1)
当您将StreamReader
一个非限定路径作为参数时,它将在应用程序的工作目录中查找该文件。如果文件不在那里,您可能想要给它一个完全限定的路径,例如:
StreamReader sr = new StreamReader(@"C:\Path\To\gold.txt")
答案 1 :(得分:1)
如果您在Visual Studio中的项目中有“gold.txt”,请确保将“复制到输出目录”属性设置为“如果更新则复制”或“始终复制”。
希望这会有所帮助。我在这一点上失败很多次:P
此外,在阅读之前检查File.Exists(“gold.txt”)是否总是一个好主意。我也倾向于使用File.OpenText或类似文件,因为我觉得你使用文件会更明显。
记得关闭();
答案 2 :(得分:0)
您收到此错误的原因是系统无法根据您传递给StreamReader的路径找到该文件。这可能是因为该文件默认情况下不在应用程序正在查找的目录中。
正如已经建议使用完整路径,或将文件放在正确的位置应该在短期内解决问题。但是,在某些时候,您可能想要让用户找到这样的文件:
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string filePath = openFileDialog.FileName;
using (StreamReader sr = new StreamReader(filePath))
{
text.Text = sr.ReadToEnd();
}
}