当StreamReader尝试读取txt文件时,我得到FileNotFound异常

本文关键字:异常 FileNotFound 文件 StreamReader 读取 txt | 更新日期: 2023-09-27 17:59:41

using (StreamReader sr = new StreamReader("gold.txt"))
        {
            text.Text = sr.ReadToEnd();
        }

为什么我会出现这个错误?我只是创建了文本文件,并尝试制作一个新的StreamReader来读取gold.txt。

当StreamReader尝试读取txt文件时,我得到FileNotFound异常

如果您在visualstudio中的项目中有"gold.txt",请确保属性"Copy to Output Directory"设置为"Copy If new"或"Copy always"。

希望这能有所帮助。我在这一点上失败了很多次:P

此外,检查是否为"文件"总是一个好主意。在阅读之前已存在("gold.txt"(。我也倾向于使用File。OpenText或类似的东西,因为我觉得它让你在处理一个文件变得更加明显。

记住关闭((;

当您给StreamReader一个非限定路径作为参数时,它将在应用程序的工作目录中查找该文件。如果文件不在那里,你可能想给它一个完全限定的路径,例如:

StreamReader sr = new StreamReader(@"C:'Path'To'gold.txt")

出现此错误的原因是系统无法根据您传递给StreamReader的路径找到文件。这可能是因为该文件不在应用程序默认查找的目录中。

正如已经建议的那样,使用完整路径或将文件放在正确的位置应该可以在短期内解决问题。然而,在某些情况下,您可能会要求用户定位如下文件:

        OpenFileDialog openFileDialog = new OpenFileDialog();
        if (openFileDialog.ShowDialog() == DialogResult.OK)
        {
            string filePath = openFileDialog.FileName;
            using (StreamReader sr = new StreamReader(filePath))
            {
                text.Text = sr.ReadToEnd();
            }
        }