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