如何在AppData中保存和加载XML文件?

时间:2015-11-21 05:30:02

标签: c# appdata

我一直在教自己如何编码,因为我很无聊。我试图在启动时加载XML文件并将该文件的内容放入列表框,然后将列表框的内容保存到文件中。这正是我现在所拥有的。但是,我希望能够从AppData加载以及保存回AppData文件夹,而无需键入完整路径。我尝试使用“%AppData%/ Roaming / MyApp / data.xml”,但这不起作用并引发异常。

以下是我现在所拥有的:

StreamReader sr = new StreamReader("data.xml");
            line = sr.ReadLine();
            while (line != null) {
                Streamers.Items.Add(line);
                line = sr.ReadLine();
            }
            Streamers.DataSource = line;
            Streamers.Sorted = true;
            sr.Close();
            Console.ReadLine();

1 个答案:

答案 0 :(得分:2)

您可以使用GetFolderPath

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

您也可以查看this answer了解详情。

<强>更新

请注意,您需要管理员权限才能访问此文件夹。

对于Access denied错误,请检查以下两个答案:

Number one

  

目录%AppData%是受系统保护的目录。视窗   一旦访问,将尝试阻止对该目录的任何访问   未授权(来自其他用户的访问权限   管理员)。

Number two

  

我会使用System.IO.Path.Combine(...)代替。{   string.Conact(...)在这种情况下。像这样......

string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"Programım");