C# 如何在特定目录中创建/存储xml文件(由序列化程序生成)?
下面的代码在应用程序的可执行文件旁边创建XML文件。 但是,我希望在可执行文件旁边的某个文件夹中创建一个XML文件 例如(我想得到这样的行为): 我当前使用的代码C# 如何在特定目录中创建/存储xml文件(由序列化程序生成)?,c#,C#,下面的代码在应用程序的可执行文件旁边创建XML文件。 但是,我希望在可执行文件旁边的某个文件夹中创建一个XML文件 例如(我想得到这样的行为): 我当前使用的代码 public static void Save() { using (var file = File.Create(Singletone.FileName)) formatter.Serialize(file, Singletone); } 和反序列化 public static void Load()
public static void Save()
{
using (var file = File.Create(Singletone.FileName))
formatter.Serialize(file, Singletone);
}
和反序列化
public static void Load()
{
try
{
Parameters parameters;
using (var file = File.OpenRead(Singletone.FileName))
parameters = (Parameters)formatter.Deserialize(file);
Singletone.Text1 = parameters.Text1;
Singletone.Text2 = parameters.Text2;
}
catch (Exception)
{
Singletone.Text1 = "first";
Singletone.Text2 = "second";
}
}
将文件夹添加到文件中可以通过以下方式简单地完成:
我应该把代码放在哪里?请解释。
newPath
在创建文件时替换Singletone.FileName
。我必须在应用程序根目录中自己创建“ParametersFolder”吗?如果该文件夹尚不存在,您需要这样做。请参阅:在反序列化时,它将通过哪种方式找到从何处读取这些内容?
public static void Load()
{
try
{
Parameters parameters;
using (var file = File.OpenRead(Singletone.FileName))
parameters = (Parameters)formatter.Deserialize(file);
Singletone.Text1 = parameters.Text1;
Singletone.Text2 = parameters.Text2;
}
catch (Exception)
{
Singletone.Text1 = "first";
Singletone.Text2 = "second";
}
}
string oldPath = Singletone.FileName;
string folderToAdd = "ParametersFolder";
string newPath = Path.Combine(Path.GetDirectoryName(oldPath),
folderToAdd,
Path.GetFileName(oldPath));