0

在我的MVC应用程序中,我试图打开一个文件以通过 StreamReader 读取,我给它的路径是这样的,保持文件在 bin 文件夹中的相对位置:

TextReader tr = new StreamReader("Content/files/text/email.txt");

但是当我运行它时,它会出现这个错误:

找不到路径“C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\Content\files\text\email.txt”的一部分。

这非常令人困惑,因为我不知道如何停止它以停止从根目录读取路径,而是从应用程序根文件夹读取它。

4

2 回答 2

1

使用Application.StartupPathDirectory.GetCurrentDirectory

TextReader tr = 
     new StreamReader(
         Path.Combine(Directory.GetCurrentDirectory(), 
                      "Content", "files", "text", "email.txt")
         );
于 2012-05-20T10:59:21.447 回答
1

如果您正在谈论 winforms 应用程序,您应该这样做。

var tr = new StreamReader(Path.Combine(Application.StartupPath, @"Content\files\text\email.txt"));

更新:Web 应用程序不需要 StreamReader。这很简单:

string text = new WebClient().DownloadString("URL_TO_WHEREEVER");
于 2012-05-20T11:05:26.113 回答