写入和加载C#项目中的文件?

写入和加载C#项目中的文件?,c#,dotnetzip,C#,Dotnetzip,经过大量的搜索和广泛的研究,我有一个问题,这无疑是愚蠢的,但我只是错过了一些简单的东西。我刚刚发布了我的第一个网站,显然需要做一些修改。我使用的是writer类,之前它只是在我的计算机上写入路径,但现在这显然不是一个选项,我尝试的是: using (StreamWriter writer = new StreamWriter(@"~\Files\test.txt")) 我只是想把它写到我项目的文件夹里。语法是什么?我也在使用dotnetzip,但在尝试不同的语法时遇到了相同的问题: zip.A

经过大量的搜索和广泛的研究,我有一个问题,这无疑是愚蠢的,但我只是错过了一些简单的东西。我刚刚发布了我的第一个网站,显然需要做一些修改。我使用的是writer类,之前它只是在我的计算机上写入路径,但现在这显然不是一个选项,我尝试的是:

using (StreamWriter writer = new StreamWriter(@"~\Files\test.txt"))
我只是想把它写到我项目的文件夹里。语法是什么?我也在使用dotnetzip,但在尝试不同的语法时遇到了相同的问题:

zip.AddFile("Files/test.txt");
怎么做?谢谢

对于Windows(桌面)应用程序,请执行以下操作:

Path.Combine(Application.StartupPath, "Files", "test.txt")
应用程序路径可以在中访问,您可以使用将路径的各个部分组合在一起

对于ASP.net,您需要而不是
应用程序。StartupPath

Path.Combine(Server.MapPath("~", "Files", "test.txt")
当然,因为这些都是硬编码的,所以您也应该能够简单地执行

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

根据您的需要,您可能需要使用
而不是
~
。另请参见。

多亏了Ic,这真是太棒了。请回答。我忘了提到这是一个asp.net项目,但我发现asp.net中的等效项是:

Server.MapPath(".")
有很多选择,而不是传统的。但这就是我要找的。另外,我试图在课堂上设置这个,但这不起作用,因为我需要这样做:

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

谢谢

感谢您的回复,我应该提到我正在使用一个asp.net项目,但我查找了对应的项目,它似乎是server.mappath,但我似乎无法将其用于workz