当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。
如果您在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();
}
}