C# 将日期放在xml文件名前面
我有以下代码:C# 将日期放在xml文件名前面,c#,xml,C#,Xml,我有以下代码: XmlSerializer SerializeObj = new XmlSerializer(dirs.GetType()); TextWriter WriteFileStream = new StreamWriter(@"G:\project\tester.xml"); SerializeObj.Serialize(WriteFileStream, dirs); WriteFileStream.Close(); 我试图在xml文件名前面加上一个日期/时间戳。因
XmlSerializer SerializeObj = new XmlSerializer(dirs.GetType());
TextWriter WriteFileStream = new StreamWriter(@"G:\project\tester.xml");
SerializeObj.Serialize(WriteFileStream, dirs);
WriteFileStream.Close();
我试图在xml文件名前面加上一个日期/时间戳。因此,使用这个例子,我会得到类似0615_Tester.xml的东西
有什么办法吗?我想确保我可以执行日期/时间\文件名].xml,并且仍然将其指定在我的G:\
提前谢谢。试试这样的方法:
string yourDateString = DateTime.Now.ToString(); // replace with any way you want to get your date string
string filename = "G:\\project\\" + yourDateString + "_tester.xml";
TextWriter WriteFileStream = new StreamWriter(filename);
string filePath = string.Format("G:\\project\\{0}tester.xml", Date.Now.ToString("DDMM"));
TextWriter WriteFileStream = new StreamWriter(filePath);
我假设该文件已经存在。因此,您必须复制该文件并删除旧文件。像这样:
File.Copy(OldFileName, NewFileNameWithDate);
File.Delete(OldFileName);
这只需使用System.IO.Path即可实现:
string path = "G:\\projects\\TestFile.xml";
string NewPath = System.IO.Path.GetDirectoryName(path) +
System.IO.Path.DirectorySeperatorChar +
DateTime.Now.ToString() +
System.IO.Path.GetFileName(path);
您可以添加一个using引用来减少键入的次数,或者以任何方式格式化日期,只要它是一个字符串。建议使用DirectorySeperator变量,但如果使用.NET(Mono?)的话,您可能正在为Windows编程,请使用string.Format,例如:
string dateString = "0615";
string fileName = string.Format(@"G:\project\{0}_tester.xml", dateString);
... = new StreamWriter(fileName);
从DateTime开始构建“dateString”应该很简单。现在。这将生成一个名为tester.xml的xml文件,就像我以前所做的那样。实际上与:是的,有点……但我在这里尝试了一下,但没有成功。