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.StartupPathまたは_Directory.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 に答える