我有一行来获取文本文件的文件路径:
string file = Path.Combine(Environment.GetFolderPath
(Environment.SpecialFolder.ApplicationData), "file.txt");
返回:
file = "C:\\Users\\Benjamin\\AppData\\Roaming\\file.txt"
但是,当我尝试在其上使用StreamReader时,它会返回FileNotFound
异常
StreamReader rdr = new StreamReader(file); // Throws the FileNotFound exception.
原始位置与返回的位置不同吗? (原址:C:\Users\Benjamin\Documents\file.txt
)
答案 0 :(得分:2)
我猜测C:\Users\Benjamin\AppData\Roaming\file.txt
不存在。
如果您需要C:\Users\Benjamin\Documents\file.txt
,请使用Environment.SpecialFolder.MyDocuments
代替Environment.SpecialFolder.ApplicationData
答案 1 :(得分:1)
Path.Combine只是构建一个路径,它不会检查文件是否存在,也不会在文件不存在的情况下执行任何操作。
你只是试图打开一个不存在的文件,例外情况就是这样。