将日期放在xml文件名前面

时间:2009-06-15 19:07:21

标签: c# xml

我有以下代码:

XmlSerializer SerializeObj = new XmlSerializer(dirs.GetType());  
TextWriter WriteFileStream = new StreamWriter(@"G:\project\tester.xml");  
SerializeObj.Serialize(WriteFileStream, dirs);  
WriteFileStream.Close();  

我正在尝试在xml文件名的FRONT中添加日期/时间戳。因此,使用这个例子,我有类似0615_Tester.xml

的东西

关于如何做到这一点的任何想法?我想确保我可以做日期/时间__ [filename] .xml并仍然指定它在我的G:\

提前致谢。

5 个答案:

答案 0 :(得分:1)

使用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);

您可以添加一个使用参考来保持打字,或者以您想要的任何方式格式化日期,只要它是一个字符串。建议使用DirectorySeperator变量,尽管您可能正在为Windows编程如果使用.NET(Mono?)

答案 1 :(得分:0)

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);  

答案 2 :(得分:0)

尝试这样的事情:

string filePath = string.Format("G:\\project\\{0}tester.xml", Date.Now.ToString("DDMM"));
TextWriter WriteFileStream = new StreamWriter(filePath);

答案 3 :(得分:0)

我假设该文件已存在。因此,您必须复制该文件并删除旧文件。像这样:

File.Copy(OldFileName, NewFileNameWithDate);

File.Delete(OldFileName);

答案 4 :(得分:0)

使用string.Format - 例如:

string dateString = "0615";
string fileName = string.Format(@"G:\project\{0}_tester.xml", dateString);

... = new StreamWriter(fileName);

从DateTime.Now。

构建“dateString”应该是微不足道的