【问题标题】:Reading a .txt file from a folder within the project [duplicate]从项目中的文件夹中读取 .txt 文件 [重复]
【发布时间】: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 发生更改,您的工作将停止工作。请使用我建议的技术来防止这种情况发生。

标签: c# winforms


【解决方案1】:

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

【讨论】:

  • 我更改了它,但它仍然崩溃。是因为我使用的 commad 吗? --StreamReader read = new StreamReader("DC.txt");-- 错误说找不到文件的路径。
  • 试试StreamReader(@"texts\DC.txt")
  • 是的!有用 !非常感谢!
猜你喜欢
  • 2012-07-03
  • 1970-01-01
  • 2018-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-04
相关资源
最近更新 更多