1

よく検索して広範囲に調べた後、間違いなくばかげた質問がありますが、簡単なものが欠けています。私は最初のウェブサイトを公開したばかりで、明らかにいくつかの変更を加える必要がありました. コンピューター上のパスに書き込む前に、ライタークラスを使用していますが、それは明らかにオプションではありません。私が試しているのはこれです:

using (StreamWriter writer = new StreamWriter(@"~\Files\test.txt"))

これをプロジェクトの Files フォルダーに書き込むだけです。構文は何ですか?私も dotnetzip を使用しており、別の構文を試しても同じ問題が発生しています。

zip.AddFile("Files/test.txt");

これを行う方法は何ですか?ありがとう!

4

2 に答える 2

2

Windows (デスクトップ) アプリケーションの場合は、次のようにします。

Path.Combine(Application.StartupPath, "Files", "test.txt")

アプリケーション パスは でアクセスでき、Application.StartupPathを使用Path.Combineしてパスの一部を結合できます。

ASP.net の場合、Server.MapPath代わりに次のものが必要ですApplication.StartupPath

Path.Combine(Server.MapPath("~", "Files", "test.txt")

もちろん、これはすべてハードコードされているため、単純に行うこともできるはずです

Server.MapPath("~/Files/test.txt")

.必要に応じて、代わりにを使用する必要がある場合があります~。Server.MapPath (".")、Server.MapPath("~")、Server.MapPath(@"\")、Server.MapPath("/")も参照してください。違いはなんですか?.

于 2013-01-21T06:18:09.437 に答える
1

Icのおかげで素晴らしい。応答のために。これがasp.netプロジェクトであることを忘れましたが、asp.netで同等のものがあることがわかりました:

Server.MapPath(".")

の代わりに多数のオプションがあります。しかし、それは私が探しているものです。また、クラスでこれを設定しようとしましたが、これを行う必要があったため、機能しませんでした:

HttpContext.Current.Server.MapPath(".")

ありがとう!

于 2013-01-21T06:47:25.513 に答える