Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将日期放在xml文件名前面_C#_Xml - Fatal编程技术网

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文件,就像我以前所做的那样。实际上与:是的,有点……但我在这里尝试了一下,但没有成功。