在哪里放txt文件

时间:2012-10-19 14:22:20

标签: c# file text-files

我正在使用应用程序,在应用程序的主文件夹中,我有一个包含网站列表的文本文件。
我操纵文件时遇到了一些麻烦。

我想使用应用程序在其中发送带有信息的文本文件,并在应用程序中为用户提供他可以更改内容的位置。保存并显示更改。

我的问题是:

  1. 我应该在哪里放置这样的文件?

  2. 从应用程序中获取它的最佳方法是什么?

  3. 为什么当我将文件放在我从Visual Studio运行应用程序时可以获得的文件夹中,但是当我重新启动应用程序并安装它时,应用程序无法找到该文件,我需要创建它(和丢失的数据)?

2 个答案:

答案 0 :(得分:2)

找到正确位置的正确方法是使用Environment.GetFolderPath,然后传递SpecialFolder.LocalApplicationData之类的内容。

但是,您需要查看SpecialFolder枚举的docs,因为用户数据位置有很多细微的变化。

您的安装程序工具可能具有查找相同“特殊位置”的功能,因此您可以希望文件可以在您期望的位置。当然,如果一个用户运行安装程序而另一个用户使用该应用程序,这可能无济于事,但在简单的情况下您可能没问题。

试图澄清

这里有两个问题:

  1. 安装程序应该把文件放在哪里?
  2. 当应用程序将文件放在那里时,我的应用程序将如何找到该文件?
  3. 这两个都是由Windows定义的各种“特殊文件夹”解决的 - 你不应该关心这些文件的确切位置,但有些方法可以在需要时找到它们。

    要解决问题“1”,您需要查看安装程序文档,并了解它如何处理特殊文件夹 - 几乎总有宏或某种类似的机制来将文件的目标设置为特殊文件夹。要解决问题'2',您需要使用Environment.GetFolderPath()。

答案 1 :(得分:0)

如果文件特定于单个用户,则应将其读/写到Application Data目录。

string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

如果文件在所有用户之间共享,请使用共享应用程序数据目录:

string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);