在C#中读取txt文件时,如何将文件目录提高一级?

在C#中读取txt文件时,如何将文件目录提高一级?,c#,C#,我在应用程序文件夹中有一个txt文件,在VisualStudio中我只写“file.read(“doc.txt”)”,但是我想将txt文件放在应用程序文件夹之外 e、 g目前其位于 c:\Desktop\Folder\application\doc.txt我想把doc.txt放在c:\Desktop\Folder里面,然后从那里读取,而不指定txt文件的确切路径,因为文件夹可能会被移动到另一个驱动器,例如D驱动器D:\Desktop\Folder 如果用户移动文件夹,而我的硬代码是“file.r

我在应用程序文件夹中有一个txt文件,在VisualStudio中我只写“file.read(“doc.txt”)”,但是我想将txt文件放在应用程序文件夹之外

e、 g目前其位于
c:\Desktop\Folder\application\doc.txt
我想把
doc.txt
放在
c:\Desktop\Folder
里面,然后从那里读取,而不指定txt文件的确切路径,因为文件夹可能会被移动到另一个驱动器,例如D驱动器
D:\Desktop\Folder

如果用户移动文件夹,而我的硬代码是“file.read”(“C:\desktop\folder\doc.txt”)。那么,如何读取位于应用程序主文件夹上方的文件呢

File.Read(@"..\doc.txt");

要实现这一点,在开头添加@的原因是为了表明您正在编写一个字符串文字,它允许您使用“\”而无需转义它。“.”部分是告诉文档进入父目录的方式。

试试这个:
@.\doc.txt“
。可能是@LasseVågsætherKarlsen的重复。谢谢你能不能把它作为答案发布,这样我就可以接受了。如果我们不能在字符串中写“\”的实际用途是什么?@guyguy,它是一个转义字符,也是一个文件夹分隔符。如果没有“@”,则需要写入
”。\\doc.txt“
。您可以将其写入字符串中,但如果字符串前面没有
@
,则它会“转义”下一个字符,可以添加或删除其含义。例如,字符串中的
n
只是字母n,但如果您写入
\n
,则表示换行符,两个字符将替换为一个。要将反斜杠写入字符串,而不在其前面使用
@
,您需要转义反斜杠,因此您必须写入
。\\doc.txt“