【发布时间】:2019-02-04 20:46:07
【问题描述】:
所以,我一直在做一个项目,一个教育软件,类似的东西。我使用了很多文字、图片、视频等。是为了比赛。 当我发现如果我尝试在另一台 PC 上打开该应用程序时,我最担心的是,由于从我的 PC 上的 .txt 文件导入的文本,它会崩溃。
经过一番搜索,我发现,如果将 .txt 文件放在我的项目中,它会解决问题,我可以使用提供的第二个命令非常简单地阅读它。但这是一团糟。我有超过 50 多个 .txt 文件。想象一下,如果我将所有 .txt 文件都放入项目中,那会是多么混乱。通过将 .txt 文件放入项目中,我的意思是右键单击项目名称->添加->现有文件。我在项目中创建了一个文件夹并将所有 .txt 文件放入其中,但是第二个命令将不再起作用。
有没有办法从项目中的文件夹中访问所有 .txt 文件,或者有办法使应用程序可移植,无论 .txt 文件路径是什么。 ?
注意:这是一个文本项目,我只使用了一个 .txt 文件进行测试,但遇到了同样的问题。
我使用的第一个命令:
StreamReader read = new StreamReader(@"DC.txt");
我使用的第二个命令:
StreamReader read = new StreamReader(@"C:\Users\Cristi\Desktop\DC.txt");
【问题讨论】:
-
您需要在项目中“始终复制”您的文件 .txt,因为如果您发布项目,文本文件将不在其中。如果总是复制,则可以使用相对路径
-
获得 EXE 的路径后(请参阅副本),使用
Path.Combine从那里到达您尝试打开的txt文件。 -
我将其更改为“始终复制”。但它仍然崩溃。这是因为我使用的命令? StreamReader read = new StreamReader("DC.txt");
-
请不要按照建议使用
texts\DC.txt。这将暂时起作用。但是,如果由于某种原因,您的流程的CurrentDirectory发生更改,您的工作将停止工作。请使用我建议的技术来防止这种情况发生。