C# 从项目中的文件夹读取.txt文件

C# 从项目中的文件夹读取.txt文件,c#,winforms,C#,Winforms,所以,我一直在做一个项目,一个教育软件,诸如此类的东西。我用了很多文字、图片、视频等等。这是比赛用的。 我最担心的是,当我发现如果我试图在另一台电脑上打开应用程序时,它会崩溃,因为这些文本是从我电脑上的.txt文件导入的 在搜索了一点之后,我发现,如果将.txt文件放在我的项目中,它将解决问题,并且我可以通过提供的第二个命令非常简单地读取它。但那真是一团糟。我有50多个.txt文件。想象一下,如果我把所有的.txt文件都放在项目中,会是多么混乱。把一个.txt文件放在项目中,我的意思是右键单击项

所以,我一直在做一个项目,一个教育软件,诸如此类的东西。我用了很多文字、图片、视频等等。这是比赛用的。 我最担心的是,当我发现如果我试图在另一台电脑上打开应用程序时,它会崩溃,因为这些文本是从我电脑上的.txt文件导入的

在搜索了一点之后,我发现,如果将.txt文件放在我的项目中,它将解决问题,并且我可以通过提供的第二个命令非常简单地读取它。但那真是一团糟。我有50多个.txt文件。想象一下,如果我把所有的.txt文件都放在项目中,会是多么混乱。把一个.txt文件放在项目中,我的意思是右键单击项目名称->添加->现有文件。我在项目中创建了一个文件夹,并将所有的.txt文件放在其中,但是第二个命令它将不再工作


是否有一种方法可以访问项目中某个文件夹中的所有.txt文件,或者有一种方法可以使应用程序可移植,而不管.txt文件路径是什么

注意:这是一个文本项目,我只使用了一个.txt文件进行测试,但遇到了相同的问题



我使用的第一个命令:

StreamReader read=newstreamreader(@“DC.txt”)

我使用的第二个命令是:


StreamReader read=newstreamreader(@“C:\Users\Cristi\Desktop\DC.txt”)

单击DC.txt时,应在文件属性中看到“复制到输出目录”。将其更改为“始终复制”,DC.txt在生成时将始终复制到生成目录中。(这样您就不再需要使用绝对路径了)


您需要在项目中设置“始终复制”您的文件.txt,因为如果您发布项目,文本文件将不在项目中。如果您一直复制,则可以使用相对路径。一旦您拥有EXE的路径(请参见副本),请使用
path。合并
以从那里获得您试图打开的
txt
文件。我将其更改为“始终复制”。但它仍然崩溃。是因为我使用了命令吗?StreamReader read=新的StreamReader(“DC.txt”);请不要按照建议使用
text\DC.txt
。这将暂时起作用。但是,如果由于某种原因,进程的
CurrentDirectory
发生更改,您的工作将停止。请使用我建议的技术来防止这种情况。我更改了它,但它仍然崩溃。是因为我用了逗号吗--StreamReader read=新的StreamReader(“DC.txt”);--错误说明找不到文件路径。请尝试
StreamReader(@“text\DC.txt”)
Yes!它起作用了!非常感谢你!