将StreamReader与GetFolderPath()一起使用?

时间:2014-10-02 22:51:25

标签: c# streamreader

我有一行来获取文本文件的文件路径:

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

2 个答案:

答案 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只是构建一个路径,它不会检查文件是否存在,也不会在文件不存在的情况下执行任何操作。

你只是试图打开一个不存在的文件,例外情况就是这样。