0

次のように、サーバー上にある場合とない場合があるファイルを読んでいます。

string TheFile = System.IO.File.
ReadAllText(HttpContext.Current.Server.MapPath("~\\Scripts\\MyScript.js"));

ファイルがそこにない場合、例外がスローされます。これは try/catch で制御できますが、劇的ではない方法でファイルが存在するかどうかを知る方法があるかどうか疑問に思っていました。

ご提案いただきありがとうございます。

4

3 に答える 3

1

MapPath でスラッシュを使用して相対パスを指定することで、このようにすることができます。MapPath の詳細については、以下を参照してください。

  • Server.MapPath(".") は、実行中のファイル (aspx など) の現在の物理ディレクトリを返します。
  • Server.MapPath("..") は親ディレクトリを返します
  • Server.MapPath("~") は、
    アプリケーションのルートへの物理パスを返します

  • Server.MapPath("/") は、ドメイン名のルートへの物理パスを返します

    if(File.Exists(HttpContext.Current.Server.MapPath("~/Scripts/MyScript.js"))
    { 
    
    }
    
于 2012-08-14T00:21:16.570 に答える
1

あなたはいつでもそれを待つ、File.Exists(...)方法を使うことができます。

于 2012-08-14T00:21:17.177 に答える
0

また、FileInfoオブジェクトを使用することもできます。

于 2012-08-14T04:38:43.710 に答える