C# 使用streamwriter C的绝对路径#

C# 使用streamwriter C的绝对路径#,c#,streamwriter,absolute-path,C#,Streamwriter,Absolute Path,我试图使用streamwriter在“我的文档”文件夹中创建一个文本文件,但是当我实际使用完整路径时,它认为我使用的是相对路径 我试图使用以下路径创建文件:“%HOMEPATH%/My Documents/”,但它将其视为相对路径 感谢您的帮助。使用“我的文档”路径,而不是试图使用系统变量。在.Net中获取用户文档文件夹的正确方法是使用并传入您应该使用的Environment.SpecialFolder.MyDocuments,在这种情况下,这将避免您硬编码My Documents: strin

我试图使用streamwriter在“我的文档”文件夹中创建一个文本文件,但是当我实际使用完整路径时,它认为我使用的是相对路径

我试图使用以下路径创建文件:“%HOMEPATH%/My Documents/”,但它将其视为相对路径


感谢您的帮助。

使用“我的文档”路径,而不是试图使用系统变量。

在.Net中获取用户文档文件夹的正确方法是使用并传入您应该使用的
Environment.SpecialFolder.MyDocuments

,在这种情况下,这将避免您硬编码
My Documents

string docs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
如果要获取与之相关的目录名,应使用:


我将使用一些API解析环境变量,然后将包含绝对路径(“C:…”)的路径输入到


您可以按照David Staratton的建议使用。

从命令提示符检查环境变量。我在我的机器上看到以下内容-

HOMEDRIVE=C:

HOMEPATH=\Users\foo

因此,请尝试%HOMEDRIVE%%HOMEPATH%来解决您的问题

string fooDocsDirectory = Path.Combine(docs, "foo");