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

本文关键字:加载 XML 文件 保存 AppData | 更新日期: 2023-09-27 18:23:53

最近我一直在自学如何编码,因为我很无聊。我试图在启动时加载一个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();

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

您可以使用GetFolderPath

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

您也可以查看此答案以了解更多信息。

更新

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

对于Access denied错误检查这两个答案:

排名第一

目录%AppData%是受系统保护的目录。Windows将在访问后立即尝试阻止对此目录的任何访问未被授权(来自除管理员)。

二号

我会使用System.IO.Path.Combine(...)而不是CCD_ 5。像这样。。。

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