用于在WPF应用程序中本地存储数据文件的文件夹

本文关键字:数据 存储 文件 文件夹 WPF 应用程序 用于 | 更新日期: 2023-09-27 18:27:21

我目前在我的WPF应用程序中有下面的代码,它正是我希望它做的事情,但是,发布后,它不一定能够访问这些文件夹位置,因为它们不会指向正确的目录,文件夹也不存在。

我希望有人能告诉我,把东西保存到本地文件夹的最佳方式是什么?

它是否在应用程序文件夹本身中也没有问题。

我目前用于编写文件的代码:

using (Stream stream = File.Open(@"..'..'Templates'data.bin", FileMode.Create))
            {
                BinaryFormatter bin = new BinaryFormatter();
                bin.Serialize(stream, templateList);
            }

我目前用于加载文件的代码:

using (Stream stream = File.Open(@"..'..'Templates'data.bin", FileMode.Open))
        {
            BinaryFormatter bin = new BinaryFormatter();
            templateList = (List<Template>)bin.Deserialize(stream);
        }

用于在WPF应用程序中本地存储数据文件的文件夹

您可以使用System.Environment.SpecialFolder.LocalApplicationData来存储特定于应用程序的数据:

using System;
class Sample 
{
    public static void Main() 
    {
          Console.WriteLine("GetFolderPath: {0}", 
                 Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData));
    }
}

参考编号:http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

您可以使用Environment.SpecialFolder找到一个合适的位置来放置文件(例如,ApplicationData是一个很好的起点)。如果只需要一个临时文件,可以使用Path.GetTempFileName创建一个。

编辑:最后一个注释。将内容存储在应用程序文件夹本身可能是一个巨大的痛苦。通常,应用程序文件夹是在安装过程中使用管理员帐户创建的,因此您的应用程序在用户帐户上运行时无法写入。